spring boot集成mybatis
1.在pom中添加依赖:
#mybatis依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
#mysql
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
#分页插件
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.1</version>
</dependency>
#通用mapper
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>3.3.6</version>
</dependency>
2.在application.properties中添加:
spring.datasource.url=jdbc:mysql://ip:3306/myht?characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.minPoolSize = 3
spring.datasource.maxPoolSize = 25
spring.datasource.maxLifetime = 20000
spring.datasource.borrowConnectionTimeout = 30
spring.datasource.loginTimeout = 30
spring.datasource.maintenanceInterval = 60
spring.datasource.maxIdleTime = 60
spring.datasource.testQuery =select 1
spring.datasource.autoReconnect = true
spring.datasource.test-while-idle=true
spring.datasource.time-between-eviction-runs-millis=27800
3.MyBatis基础配置
/** * MyBatis基础配置 * * @author liuzh * @since 2015-12-19 10:11 */
@Configuration
@EnableTransactionManagement
public class MyBatisConfig implements TransactionManagementConfigurer {
@Autowired
DataSource dataSource;
@Bean(name = "sqlSessionFactory")
public SqlSessionFactory sqlSessionFactoryBean() {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dataSource);
bean.setTypeAliasesPackage("com.bfd.api.*.domain");
//分页插件
PageHelper pageHelper = new PageHelper();
Properties properties = new Properties();
properties.setProperty("reasonable", "true");
properties.setProperty("supportMethodsArguments", "true");
properties.setProperty("returnPageInfo", "check");
properties.setProperty("params", "count=countSql");
pageHelper.setProperties(properties);
//添加插件
bean.setPlugins(new Interceptor[]{pageHelper});
//设置配置参数
org.apache.ibatis.session.Configuration conf = new org.apache.ibatis.session.Configuration();
conf.setMapUnderscoreToCamelCase(true);
//conf.setLogPrefix("api-cloud.");
bean.setConfiguration(conf);
//添加XML目录
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
try {
bean.setMapperLocations(resolver.getResources("classpath:mapper/*.xml"));
return bean.getObject();
} catch (Exception e) {
LogUtil.error("classpath:mapper/*.xml", "mapper解析错误", e);
throw new RuntimeException(e);
}
}
@Bean
public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
return new SqlSessionTemplate(sqlSessionFactory);
}
@Bean
@Override
public PlatformTransactionManager annotationDrivenTransactionManager() {
return new DataSourceTransactionManager(dataSource);
}
}
4.MyBatis扫描接口
/** * MyBatis扫描接口 * * @author liuzh * @since 2015-12-19 14:46 */
@Configuration //TODO 注意,由于MapperScannerConfigurer执行的比较早,所以必须有下面的注解 @AutoConfigureAfter(MyBatisConfig.class) public class MyBatisMapperScannerConfig { @Bean public MapperScannerConfigurer mapperScannerConfigurer() { MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer(); mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactory"); mapperScannerConfigurer.setBasePackage("tk.mybatis.springboot.mapper"); return mapperScannerConfigurer; } }
这个配置一定要注意@AutoConfigureAfter(MyBatisConfig.class)
,必须有这个配置,否则会有异常。原因就是这个类执行的比较早,由于sqlSessionFactory
还不存在,后续执行出错。
做好上面配置以后就可以使用MyBatis了。
转载于:https://www.cnblogs.com/wangjing666/p/6994645.html
spring boot集成mybatis相关推荐
- Spring Boot 集成 Mybatis 实现双数据源
转载自 Spring Boot 集成 Mybatis 实现双数据源 这里用到了Spring Boot + Mybatis + DynamicDataSource配置动态双数据源,可以动态切换数据源 ...
- spring boot 集成Mybatis时 Invalid bound statement (not found)
spring boot 集成Mybatis时,运行提示 org.apache.ibatis.binding.BindingException: Invalid bound statement (not ...
- Spring Boot 集成MyBatis
Spring Boot 集成MyBatis Spring Boot 系列 Spring Boot 入门 Spring Boot 属性配置和使用 Spring Boot 集成MyBatis Spring ...
- Spring Boot系列六 Spring boot集成mybatis、分页插件pagehelper
1. 概述 本文的内容包括如下内容: Spring Boot集成mybatis Spring Boot集成pagehelper分页插件,定义分页的相关类 实现工具类:model转dto,实现数据层和传 ...
- spring boot集成mybatis+事务控制
一下代码为DEMO演示,采用注解的方式完成Spring boot和Mybatis的集成,并进行事物的控制 数据源的配置: 1 spring.datasource.url=jdbc:mysql://lo ...
- Spring Boot 集成 MyBatis 与 c3p0
*对应的目录结构 一.添加依赖 <!-- 添加对 mybatis 的依赖 --><dependency><groupId>org.mybatis.spring.bo ...
- mybatis映射longtext类型数据_全网首例全栈实践(五)Spring Boot 集成Mybatis
一.概述 我们的Spring Boot后续项目使用的都是MySQL.Spring Boot连接MySQL的方式包括JDBC,Spring JPA,Hibeirnate,Mybatis等,本文主要带大家 ...
- MBG真香 Spring Boot集成Mybatis Generator插件
Mybatis中文官网对mybatis-generator的介绍:http://www.mybatis.cn/archives/885.html Mybatis官网对mybatis-generator ...
- Spring Boot 集成 MyBatis和 SQL Server实践
文章共 509字,阅读大约需要 2分钟 ! 概 述 Spring Boot工程集成 MyBatis来实现 MySQL访问的示例我们见过很多,而最近用到了微软的 SQL Server数据库,于是本文则给 ...
最新文章
- 【OpenCV】读取csv文件
- C库宏-offsetof()
- java 加法 溢出_StackOverflow热帖:Java整数相加溢出怎么办?Java8一步搞定~
- VSCODE远程连接服务器,远程开发。
- Qt笔记-窗口程序在任务栏中隐藏及永久置顶
- python学习之简介
- 智能数据引擎Dataphin重磅发布,提供一站式的技术管理能力
- foreman架构的引入6-整合puppetmaster
- springAOP(Aspect)权限访问页面
- linux下查看表类型注释命令@tcc
- 语音信号预处理1——chirp信号的生成与接收
- cmd下重启iis命令
- .bat批处理(十一):替换字符串中包含百分号%的子串
- 【古墓射手】隐私政策
- 算法之狄克斯特拉算法 --《图解算法》
- 最出色的员工往往最先离职,却不是因为钱,到底为什么?
- Android 安全防护
- 高级shell编程笔记(第十三章 系统与管理命令)
- C++编程 一个正整数的立方和
- STM32驱动TSL2561
热门文章
- 零基础学python语言_零基础如何入门Python语言?有哪些学习建议?
- js获取浏览器高和宽的基本信息:屏幕信息
- 三维空间长度温度数量_罗斯蒙特644温度变送器怎样接线?
- linux 日志按大小切割_nginx入门详解(六)- 日志切割
- mysql 多表既有内连接又有外连接_MySQL 多表查询中的内连接和外连接
- 关于举办第十届浙江省大学生智能汽车 竞赛暨第十六届全国大学生智能汽车竞赛 浙江赛区选拔赛的通知
- 2021年春季学期-信号与系统-第九次作业参考答案-第五小题
- panda对于EXCEL单元赋值如何能够设置string?
- 微波人体感应模块 24G 24.125g 感应开关微波传感器模块
- SP-45ML光电二极管放大电路及其动态特性