Mybatis是什么
Mybatis是一个基于JDBC实现的,支持普通 SQL 查询、存储过程和高级映射的优秀持久层框架,去掉了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索封装。
Mybatis主要思想是将程序中大量的 SQL 语句剥离出来,配置在配置文件中,以实现 SQL 的灵活配置。在所有 ORM 框架中都有一个非常重要的媒介——PO(持久化对象),PO 的作用就是完成持久化操作,通过该对象对数据库执行增删改的操作,以面向对象的方式操作数据库。
SpringBoot整合Mybatis框架
配置Maven依赖
使用SpringBoot整合Mybatis需要添加Maven起步依赖,如下所示。
<!-- mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>x.x.x</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
复制代码
配置数据源
然后通过 application.yml 中的 spring.datasource.* 前缀
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/spring_test2?characterEncoding=utf8&useSSL=false
username: root
password: root
复制代码
构建数据模型
public class ProductInfo implements Serializable {
private Long productId;
private String productName;
private Double productPrice;
private Date gmtCreate;
private Date gmtModified;
//省略getter、setter方法
}
复制代码
MapperScan配置扫描
在启动类中添加对 mapper 包扫描 @MapperScan:
@SpringBootApplication
@MapperScan("com.example.springboot.mapper")
复制代码
多数据源
接下来,我们要针对于多数据源和动态数据源进行实现对应的落地方案,希望可以帮助到大家
应用场景
项目需要同时连接两个不同的数据库A, B,并且它们都为主从架构,一台写库,多台读库。
多数据源
首先,要将spring boot自带的DataSourceAutoConfiguration禁掉,因为它会读取application.properties文件的spring.datasource.*属性并自动配置单数据