1.整合MyBatis-plus
MyBatis官网:MyBatis-Plus
dao层继承BaseMapper<实体类>
1.1简介
1.mybatis-plus有通用的增删改查方法。方便简洁。dao层继承BaseMapper<实体类> 直接省去xml文件的编写。
1.2创建plus项目
1.实现user的增删改查
第一步:创建项目
?
第二步:编写配置文件
pom文件:
<!-- 配置资源路径-->
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
配置文件:
# 应用名称
spring.application.name=demo
# 应用服务 WEB 访问端口
server.port=8080
# 数据库驱动:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 数据源名称
spring.datasource.name=test
# 数据库连接地址
spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=GMT&useSSL=false
# 数据库用户名&密码:
spring.datasource.username=root
spring.datasource.password=root
第三步:编写实体类User。
public class User implements Serializable {
private int id;
private String name;
private int age;
private String sex;
private String password;
?
public User() {
}
?
public int getId() {
return id;
}
?
public void setId(int id) {
this.id = id;
}
?
public String getName() {
return name;
}
?
public void setName(String name) {
this.name = name;
}
?
public int getAge() {
return age;
}
?
public void setAge(int age) {
this.age = age;
}
?
public String getSex() {
return sex;
}
?
public void setSex(String sex) {
this.sex = sex;
}
?
public String getPassword() {
return password;
}
?
public void setPassword(String password) {
this.password = password;
}
?
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
", sex='" + sex + '\'' +
", password='" + password + '\'' +
'}';
}
?
public User(int id, String name, int age, String sex, String password) {
this.id = id;
this.name = name;
this.age = age;
this.sex = sex;
this.password = password;
}
}
第四步:编写Dao层文件
实现BaseMapper是关键。
@Mapper
public interface UserDao extends BaseMapper<User> {
?
}
第五步:编写service层文件
UserService:
public interface UserService {
public int insert(User user);
public User getUserById(int id);
public List<User> getUsers();
public int updateUserPassword(int id,String password);
public int deleteUser(int id);
?
}
UserServiceImpl:
@Service
public class UserServiceIml implements UserService {
?
@Resource
private UserDao userDao;
?
// 插入操作
@Override
public int insert(User user) {
return userDao.insert(user);
}
?
// 根据id查询用户操作
@Override
public User getUserById(int id) {
return userDao.selectById(id);
}
// 获取全部的user对象
@Override
public List<User> getUsers() {
// 里面不写就是不指定查询的条件,也就是查询所有的信息
return userDao.selectList(null);
}
?
@Override
?
public int updateUserPassword(int id,String password) {
// 为的是解决age默认是0的时候可能出现的问题
User user=userDao.selectById(id);
user.setPassword(password);
return userDao.updateById(user);
}
// 根据id删除用户
@Override
public int deleteUser(int id) {
return userDao.deleteById(id);
}
}
第六步:编写controller层代码
@RestController
public class UserController {
@Resource
private UserService userService;
?
// 插入一个用户
/*
* 按照属性对应的顺序插入就行了
* */
@GetMapping("/insert")
public int insert(User user){
return userService.insert(user);
};
// 根据id获取用户的信息
@GetMapping("/getUserById")
public User getUserById(int id){
return userService.getUserById(id);
};
// 获取所有的用户
?
@GetMapping("/getUsers")
public List<User> getUsers(){
return userService.getUsers();
};
// 根据id修改密码
/*
*有个小问题,修改密码把个别数据修改了
* */
@GetMapping("/updateUserPassword")
public int updateUserPassword(int id,String password){
return userService.updateUserPassword(id,password);
};
// 根据id删除用户
/*
*删除成功返回1
* 失败返回0
*/
@GetMapping("/deleteUser")
public int deleteUser(int id){
return userService.deleteUser(id);
};
?
}
运行截图:
插入操作:
?
URL中带着中文也是没有问题的:
?
查询所有:
?
根据id进行查询:
?
修改指定id用户的密码:
?
根据id删除指定用户:
?
|