SpringBoot整合Mybatis
一. Mybatis简介
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
二. 准备工作
创建SpringBoot项目
这篇文章中有SpringBoot项目的创建:启动SpringBoot《从零开始的Springboot》
添加相关依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.1</version>
</dependency>
全局配置文件
spring.datasource.url=jdbc:mysql://localhost:3306/demo?&useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
创建数据表
create table user(
id int primary key not null,
userName varchar(32),
userAge varchar(32)
三. 增删改查
创建实体类
public class User {
private Long id;
private String userName;
private Integer userAge;
//...get/set()
}
创建mapper接口
@Mapper
@Component
public interface UserMapper {
//查询所有记录
@Select("select * from user")
List<User> getUsers();
//根据id删除记录
@Delete("delete from user where id =#{id}")
int delete(int id);
//更新一条记录
@Update("insert into user(id,userName,userAge)values(#id,#userName,#userAge)")
User update(User user);
//增加一条数据
@Insert("insert into user(id,userName,userAge)values(#{id},#{userName},#{userAge})")
User save(User user);
}
由于我在使用@Autowire注解将mapper类自动注入的时候发现can not autowired错误,于是我在类前面加上了@Component将该类标注为一个组件。
service业务层
由于功能简单,就直接在service中直接写,不再写service和对应的实现类了。
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
/*
查询所有数据
*/
public List<User> getUsers() {
return userMapper.getUsers();
}
/*
修改数据
*/
public User update(User user) {
return userMapper.update(user);
}
/*
添加一条数据
*/
public User save(User user) {
return userMapper.save(user);
}
/*
根据id删除数据
*/
public int delete(int id) {
return userMapper.delete(id);
}
}
Controller控制层
@RestController
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/users")
public List<User> lists() {
return userService.getUsers();
}
@GetMapping("/delete")
public int delete(int id){
return userService.delete(id);
}
@RequestMapping("/update")
public void update(User user) {
userService.update(user);
}
@RequestMapping("/save")
public void save(User user) {
userService.save(user);
}
}
四.测试
打开浏览器在地址栏输入:
localhost:8080/users
如下图:
使用配置的druid可以实现监控功能。
部分内容引用:mybatis简介:https://mybatis.org/mybatis-3/zh/index.html
版权声明:本文为weixin_45462732原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。