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 版权协议,转载请附上原文出处链接和本声明。
