SpringBoot整合JDBC和MyBatis
整合JDBC:
1、添加JDBC的启动器:
org.springframework.boot
spring-boot-starter-jdbc
2、添加Mysql数据库驱动:
mysql
mysql-connector-java
3、到application.yml配置连接参数:
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/springboot?characterEncoding=utf-8
username: root
password: 1234
无论是SQL还是Nosql,springboot都使用spring-data管理,
整合MyBatis步骤:
完成整合JDBC的以上3步,额外增加如下步骤:
1、添加Mybatis启动器:spring-boot没有给Mybatis写启动器,Mybaits自己写了启动器,普通启动器:
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.2
2、到application.yml配置需要指定别名的包以及要扫描的mapper.xml:
mybatis:
type-aliases-package: com.fkjava.pojo
mapper-locations: classpath:mybatis/mapper/*Mapper.xml
3、在SpringBoot启动类上添加注解@MapperScan("com.gaoshan.dao”)指定要扫描的接口
mapper.xml的基础配置文件:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="">
</mapper>
如果希望使用更简易的开发模式,可以使用mybatis的通用mapper启动器:
tk.mybatis
mapper-spring-boot-starter
2.1.5
该启动器以tk开头,配置该启动器就不再需要配置mybatis-spring-boot-starter,此外,该启动器引入了jdbc的包,因此不再需要单独引入jdbc的启动器。
通用mapper包含了大量的通用的单表操作方法,不需要编写简单的单表操作sql语句和方法就可以直接使用。
使用方式:
1、在对应表映射的实体类(pojo类)上使用@Table(name=“表名”)指定数据表的表名
@Data
//指定要映射的表名
@Table(name="tb_hero")
public class Hero {
@Id//指定该列为主键列
@KeySql(useGeneratedKeys = true)//指定在插入时,插入成功后,返回插 //入的主键列值到该属性中
private Integer id;
private String username;
private String profession;
@Transient
private String phone;
private String email;
private Date onlineTime;
2、让mapper接口继承类Mapper<pojo类名>,指定该Mapper的泛型,就可以获得该表的所有通用的单表操作。通过ctrl + o就可以查看,如: