Spring Boot集成Mybatis
Spring Boot集成Mybatis
一、添加mybatis依赖、MySQL驱动
pom.xml
<!--MySQL驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<!--不需要写版本号,SpringBoot在Parent中锁定了版本-->
</dependency>
<!--MyBatis整合SpringBoot框架的起步依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<!-- Druid数据源 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.1</version>
</dependency>
二、数据源配置
application.yml
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: root
url: jdbc:mysql://localhost:13306/wiki?serverTimezone=UTC
druid:
initial-size: 5
max-active: 10
数据源的相关配置可以参考:
spring-boot-autoconfigure.jar 中的 DataSourceProperties 类
三、Mybatis配置
application.yml
# 配置mybatis所有Mapper.xml所在的路径
mybatis:
mapper-locations: classpath:/mapper/*.xml
# 开启驼峰映射
configuration:
map-underscore-to-camel-case: true
Mybatis还有很多核心配置,官网现用现查。
Mybatis相关的配置,可以参考:
mybatis-spring-boot-autoconfigure.jar 中的 MybatisProperties 类
四、生成实体entity
package com.kyk.wiki.domain;
import lombok.Data;
/**
* @FileName wiki-server
* @Author keyongkang
* @Create 2022-11-18-14:25
*/
@Data
public class Test {
// id
private Long id;
// 名称
private String name;
// 密码
private String password;
}
五、生成Mapper接口
package com.kyk.wiki.mapper;
import com.kyk.wiki.domain.Test;
import java.util.List;
/**
* @FileName wiki-server
* @Author keyongkang
* @Create 2022-11-18-14:27
*/
public interface TestMapper {
List<Test> list();
}
扫描Mapper的注解有两种——
@Mapper
和@MapperScan
- @Mapper需要在每一个Mapper接口类上添加,作用扫描Mapper接口
- @MapperScan是在SpringBoot启动入口类上添加的,它是扫描所有Mapper接口所在的包
六、生成Mapper接口对应的映射文件
<?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="com.kyk.wiki.mapper.TestMapper">
<!-- List<Test> list();-->
<select id="list" resultType="com.kyk.wiki.domain.Test">
SELECT *
FROM test
</select>
</mapper>
额外:Mybatis的配置——XML、注解、application.yml
Mybatis主配置文件主要有以下三种形式:
- 使用额外的 XML文件,然后在 SpringBoot 中引入该 XML(通用)
- 利用注解实现纯代码进行配置(SpringBoot 专用)
- 在 application 中进行配置(SpringBoot 专用)
XML配置
在application.yml中指定mybatis配置文件的位置:
mybatis:
config-location: classpath:mybatis-config.xml
然后在mybatis-config.xml中配置:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<!-- 使用新生成记录的主键 -->
<setting name="useGeneratedKeys" value="true"/>
<!-- 数据库: my_first_name -> Java: myFirstName -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
</configuration>
注解方式配置
@Configuration
public class MyBatisConfig {
@Bean
public ConfigurationCustomizer customizer() {
return (configuration) -> {
configuration.setMapUnderscoreToCamelCase(true);
configuration.setUseGeneratedKeys(true);
};
}
}
application.yml中配置
mybatis:
configuration:
map-underscore-to-camel-case: true
use-generated-keys: true
本文作者:Ac_c0mpany丶
本文链接:https://www.cnblogs.com/keyongkang/p/16903362.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步