spring boot整合mybatis步骤
2023-09-14 09:02:02 时间
spring boot整合mybatis步骤
官方说明:MyBatis-Spring-Boot-Starter will help you use MyBatis with Spring Boot
其实就是myBatis看spring boot这么火热,为了迎合springboot也开发出一套解决方案来凑凑热闹, mybatis-spring-boot-starter,这个jar包含了mybatis核心包以及mybatis自动配置类。
依赖jar
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
配置数据库信息
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
mapper开发(注解开发)
@Select("SELECT * FROM user WHERE id= #{id}")
User getUserById(int id);
spring boot的注解分析
@ConditionalOnBean(仅仅在当前上下文中存在某个对象时,才会实例化一个Bean)
@ConditionalOnClass(某个class位于类路径上,才会实例化一个Bean)
@ConditionalOnExpression(当表达式为true的时候,才会实例化一个Bean)
@ConditionalOnMissingBean(仅仅在当前上下文中不存在某个对象时,才会实例化一个Bean)
@ConditionalOnMissingClass(某个class类路径上不存在的时候,才会实例化一个Bean)
@ConditionalOnNotWebApplication(不是web应用)
@AutoConfigureAfter 在某个bean初始化后再初始化
数据库连接池
spring boot的默认连接池
1:在pom文件中直接依赖官方提供的spring-boot-start-jdbc模块
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
注意:如果你引入了————
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
那么你无须再去依赖spring-boot-start-jdbc,因为mybatis-spring-boot-starter中包含spring-boot-start-jdbc,不信看下面————
2:springboot默认使用的是tomcat-jdbc数据源
properties文件配置:
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
将其更改为第三方数据库连接池
如果不想使用默认的tomcat-jdbc数据源,也可以根据需要选择其它性能优秀的数据源,如Druid、c3p0等等。以Druid为例。
A: 引入POM依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.6</version>
</dependency>
B: 配置
spring.datasource.druid.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8
spring.datasource.druid.username=root
spring.datasource.druid.password=root
spring.datasource.druid.driver-class-name=com.mysql.jdbc.Driver
参考文档
https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
初始化连接池
spring.datasource.druid.initial-size=
spring.datasource.druid.max-active=
spring.datasource.druid.min-idle=
spring.datasource.druid.max-wait=
spring.datasource.druid.pool-prepared-statements=
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=
spring.datasource.druid.max-open-prepared-statements= #和上面的等价
spring.datasource.druid.validation-query=
spring.datasource.druid.validation-query-timeout=
spring.datasource.druid.test-on-borrow=
spring.datasource.druid.test-on-return=
spring.datasource.druid.test-while-idle=
spring.datasource.druid.time-between-eviction-runs-millis=
spring.datasource.druid.min-evictable-idle-time-millis=
spring.datasource.druid.max-evictable-idle-time-millis=
spring.datasource.druid.filters= #配置多个英文逗号分隔
druid的监控台:
http://localhost:8080/druid/index.html
相关文章
- activiti自定义流程之Spring整合activiti-modeler5.16实例(七):任务列表展示
- 【Spring Boot】Spring Boot之利用Logstash将日志转换成以JSON的格式存储和输出
- Spring Boot中使用MyBatis注解配置详解(1)
- Spring Boot 集成MyBatis
- spring-boot-maven-plugin插件的作用
- spring的了解以及简单框架的搭建
- spring boot mybatis 整合教程
- spring boot:用dynamic-datasource-spring-boot-starter配置druid多数据源(spring boot 2.3.3)
- Spring Boot (八): Mybatis 增强工具 MyBatis-Plus
- Spring Boot (七): Mybatis极简配置
- spring boot 手动value和自动注入配置的区别[五]
- spring boot:配置shardingsphere(sharding jdbc)使用druid数据源(druid 1.1.23 / sharding-jdbc 4.1.1 / mybatis / spring boot 2.3.3)
- spring boot:使mybatis访问多个druid数据源(spring boot 2.3.2)
- spring boot:使用mybatis访问多个mysql数据源/查看Hikari连接池的统计信息(spring boot 2.3.1)
- 使用外置tomcat部署spring boot程序需添加servlet-api
- spring boot使用外置tomcat部署需要排除的依赖
- spring boot整合mybatis+通用mapper+pagehelper分页插件
- 11_Spring Boot 集成Thymeleaf模板
- 学习Spring Boot:(十二)Mybatis 中自定义枚举转换器
- spring boot 启动读取的配置文件优先级
- spring boot + mybatis + mybatis逆向工程 --- 心得
- Spring Boot + Mybatis + Redis二级缓存开发指南