用Java写一个登录注册功能,使用Springboot和Mybatis,数据库使用mysql,表名为sys_user
时间: 2023-07-15 22:12:46 浏览: 96
好的,以下是一个简单的登录注册功能的示例代码,使用Spring Boot和Mybatis,数据库使用MySQL,表名为sys_user。
首先,在pom.xml中添加以下依赖:
```xml
<dependencies>
<!-- Spring Boot Starter Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- MySQL Connector/J -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- MyBatis Starter -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<!-- Spring Boot Starter Test -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
```
其次,在application.properties中添加以下配置:
```properties
# 数据库连接配置
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# MyBatis配置
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.demo.entity
```
接着,创建实体类User:
```java
public class User {
private Integer id;
private String username;
private String password;
// getter和setter方法省略
}
```
然后,创建Mapper接口UserMapper:
```java
@Mapper
public interface UserMapper {
/**
* 根据用户名查询用户信息
* @param username 用户名
* @return 用户信息
*/
User selectUserByUsername(String username);
/**
* 插入用户信息
* @param user 用户信息
* @return 插入结果
*/
int insertUser(User user);
}
```
最后,创建Controller类UserController:
```java
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
/**
* 登录
* @param username 用户名
* @param password 密码
* @return 登录结果
*/
@GetMapping("/login")
public String login(String username, String password) {
// 根据用户名查询用户信息
User user = userMapper.selectUserByUsername(username);
if (user == null) {
return "用户名不存在";
}
if (!password.equals(user.getPassword())) {
return "密码错误";
}
return "登录成功";
}
/**
* 注册
* @param username 用户名
* @param password 密码
* @return 注册结果
*/
@GetMapping("/register")
public String register(String username, String password) {
// 根据用户名查询用户信息
User user = userMapper.selectUserByUsername(username);
if (user != null) {
return "用户名已存在";
}
// 插入用户信息
user = new User();
user.setUsername(username);
user.setPassword(password);
int result = userMapper.insertUser(user);
if (result > 0) {
return "注册成功";
} else {
return "注册失败";
}
}
}
```
在mapper目录下创建UserMapper.xml文件,添加以下内容:
```xml
<mapper namespace="com.example.demo.mapper.UserMapper">
<resultMap id="userResultMap" type="com.example.demo.entity.User">
<id column="id" property="id"/>
<result column="username" property="username"/>
<result column="password" property="password"/>
</resultMap>
<select id="selectUserByUsername" parameterType="java.lang.String" resultMap="userResultMap">
SELECT * FROM sys_user WHERE username = #{username}
</select>
<insert id="insertUser" parameterType="com.example.demo.entity.User">
INSERT INTO sys_user(username, password) VALUES (#{username}, #{password})
</insert>
</mapper>
```
最后,启动应用程序,访问http://localhost:8080/login和http://localhost:8080/register即可进行登录和注册操作。
注意:本示例代码仅为演示用途,实际应用中需要进行多项安全性和性能方面的优化。
阅读全文