之三 2流高手速成记:SpringBoot整合mybatis/mybatis-plus实现数据持久化

接上回
上一篇我们简单介绍了基于SpringBoot实现简单的Web开发,本节来看Web开发中必不可少的内容——数据持久化
先看项目结构:

之三 2流高手速成记:SpringBoot整合mybatis/mybatis-plus实现数据持久化

文章插图
1. 创建数据表打开mysql,打开数据库 test (没有可以创建一个),创建表格 person
给 person 表创建两个字段 id、name
之三 2流高手速成记:SpringBoot整合mybatis/mybatis-plus实现数据持久化

文章插图
    
之三 2流高手速成记:SpringBoot整合mybatis/mybatis-plus实现数据持久化

文章插图
2. 打开 pom.xml,添加相关依赖<!-- 引入mybatis、mybatis-plus、mysql等依赖 --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.2</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.2</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency>
mybatis-spring-boot-starter 满足了 mybatis在springboot下的拆箱即用
mybatis-plus-boot-starter 实现了 mybatis-plus 的自动化配置,同样拆箱即用
注意:是mybatis-plus-boot-starter,不是mybatis-plus;前者包含后者的引用,如果只引用后者执行程序会报错!
由于mybatis-plus是基于mybatis的,所以两者引用缺一不可
mysql-connector-java 是基础的mysql驱动接口,这个也是不可或缺的
mybatis是安全、优秀的java持久层框架,基于xml可灵活定制sql语句
mybatis-plus在mybatis的基础上做了更进一步的简化,可免去xml编写
同时,mybatis-plus遵循非侵入式设计的原则,即完全兼容原mybatis的使用习惯,非常方便
3. 给application.properties添加数据库配置# mysql相关设置spring.datasource.username=adminspring.datasource.password=adminspring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver到这里可能有人会问,咋没看到mybatis.xml的配置?不是一般都会有一句:
#指定Mybatis的Mapper文件mybatis.mapper-locations=classpath:mapper/*xml如果我们使用mybatis的原生功能,这一句配置是需要加上的,但是如果我们基于mybatis-plus,可以先不加这一句,因为它是免xml配置的!
4. 新建 model/Personpackage com.example.hellospringboot.model;public class Person {private Integer id = 0;private String name = "";public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}注意:类名 Person 要和数据库表名 person 一致(首字母大写是Java的类命名规则,这个没有问题)
id和name两个字段的名称和类型也要和数据库保持一致
5. 新建 mapper/PersonMapperpackage com.example.hellospringboot.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;import com.example.hellospringboot.model.Person;import org.apache.ibatis.annotations.Mapper;import org.springframework.stereotype.Repository;@Mapper@Repositorypublic interface PersonMapper extends BaseMapper<Person> {}这里让PersonMapper继承自mybatis-plus提供的BaseMapper,这是启用mybatis-plus免xml特性的关键!
BaseMapper为我们定制常用的数据库增删改查的方法,直接继承使用即可!

经验总结扩展阅读