MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs映射成数据库中的记录。而Mybatis-Plus作为Mybatis的升级版,不仅保留了Mybatis的全部功能,而且还对Mybatis进行了升级,使用起来更加的方便。今天分享关于Spring Boot使用Mybatis和Mybatis-Plus。
首先说说Mybatis的配置,导入jar包,jar包我测试了两种,简单的说哈区别,mybatis-spring-boot-starter是一个中间件,简单的说就是他集成了Mybatis在Spring Boot环境中需要依赖的jar包,而mybatis就直接是框架;使用时mybatis-spring-boot-starter已经帮我们写好的环境,我们只需要根据自己的需要去配置就行,而mybatis就需要自己去写一个配置(我没写过,应该是类似于SSM框架时的那个配置吧),所以建议使用mybatis-spring-boot-starter
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
然后在properties中配置,官方给了下图的配置,可以根据自己的需要进行配置
# 配置示例
# 扫描xml文件路径
mybatis.mapper-locations=classpath*:mapper/**/*.xml
# 扫描实体类的路径,使用别名时必须配置
mybatis.type-aliases-package=com.dyh.peachsys.*.entity
# 开启驼峰命名自动映射
mybatis.configuration.map-underscore-to-camel-case=true
然后就是根据数据库表格去创建entity,mapper,service,controller,以及mapper对应的xml文件,当然也是可以使用注解的方式,但在这时使用xml文件,因为我会介绍一个Mybatis配置的类型别名这个属性
# 使用这个属性首先需要配置实体类的扫描路径
mybatis.type-aliases-package=com.dyh.peachsys.*.entity
# 创建实体类,并使用@Alias注解标识配置实体类的别名
@Alias("MybatisUser")
public class MybatisUser implements Serializable {
}
# 在xml中配置resultType时只需要引用类型别名即可
<select id="getList" resultType="MybatisUser">
select * from `user`
</select>
说说mapper对应的xml文件,这个xml文件可以放在任何位置,但是如果是放在java源码文件目录下面的,就会扫描不到配置,需要在pom文件中配置
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
而Mybatis-Plus作为Mybatis的升级版,只需要在properties配置时将mybatis改为mybatis-plus即可,其他的配置几乎一样
传送门:
Mybatis官方文档:https://mybatis.org/mybatis-3/zh/index.html
Mybatis-Plus官方文档:https://mp.baomidou.com/guide/
演示demo地址:https://github.com/peach-tec/peachsys