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相关推荐

  1. Spring Boot 集成 Mybatis 实现双数据源

    转载自   Spring Boot 集成 Mybatis 实现双数据源 这里用到了Spring Boot + Mybatis + DynamicDataSource配置动态双数据源,可以动态切换数据源 ...

  2. spring boot 集成Mybatis时 Invalid bound statement (not found)

    spring boot 集成Mybatis时,运行提示 org.apache.ibatis.binding.BindingException: Invalid bound statement (not ...

  3. Spring Boot 集成MyBatis

    Spring Boot 集成MyBatis Spring Boot 系列 Spring Boot 入门 Spring Boot 属性配置和使用 Spring Boot 集成MyBatis Spring ...

  4. Spring Boot系列六 Spring boot集成mybatis、分页插件pagehelper

    1. 概述 本文的内容包括如下内容: Spring Boot集成mybatis Spring Boot集成pagehelper分页插件,定义分页的相关类 实现工具类:model转dto,实现数据层和传 ...

  5. spring boot集成mybatis+事务控制

    一下代码为DEMO演示,采用注解的方式完成Spring boot和Mybatis的集成,并进行事物的控制 数据源的配置: 1 spring.datasource.url=jdbc:mysql://lo ...

  6. Spring Boot 集成 MyBatis 与 c3p0

    *对应的目录结构 一.添加依赖 <!-- 添加对 mybatis 的依赖 --><dependency><groupId>org.mybatis.spring.bo ...

  7. mybatis映射longtext类型数据_全网首例全栈实践(五)Spring Boot 集成Mybatis

    一.概述 我们的Spring Boot后续项目使用的都是MySQL.Spring Boot连接MySQL的方式包括JDBC,Spring JPA,Hibeirnate,Mybatis等,本文主要带大家 ...

  8. MBG真香 Spring Boot集成Mybatis Generator插件

    Mybatis中文官网对mybatis-generator的介绍:http://www.mybatis.cn/archives/885.html Mybatis官网对mybatis-generator ...

  9. Spring Boot 集成 MyBatis和 SQL Server实践

    文章共 509字,阅读大约需要 2分钟 ! 概 述 Spring Boot工程集成 MyBatis来实现 MySQL访问的示例我们见过很多,而最近用到了微软的 SQL Server数据库,于是本文则给 ...

最新文章

  1. 【OpenCV】读取csv文件
  2. C库宏-offsetof()
  3. java 加法 溢出_StackOverflow热帖:Java整数相加溢出怎么办?Java8一步搞定~
  4. VSCODE远程连接服务器,远程开发。
  5. Qt笔记-窗口程序在任务栏中隐藏及永久置顶
  6. python学习之简介
  7. 智能数据引擎Dataphin重磅发布,提供一站式的技术管理能力
  8. foreman架构的引入6-整合puppetmaster
  9. springAOP(Aspect)权限访问页面
  10. linux下查看表类型注释命令@tcc
  11. 语音信号预处理1——chirp信号的生成与接收
  12. cmd下重启iis命令
  13. .bat批处理(十一):替换字符串中包含百分号%的子串
  14. 【古墓射手】隐私政策
  15. 算法之狄克斯特拉算法 --《图解算法》
  16. 最出色的员工往往最先离职,却不是因为钱,到底为什么?
  17. Android 安全防护
  18. 高级shell编程笔记(第十三章 系统与管理命令)
  19. C++编程 一个正整数的立方和
  20. STM32驱动TSL2561

热门文章

  1. 零基础学python语言_零基础如何入门Python语言?有哪些学习建议?
  2. js获取浏览器高和宽的基本信息:屏幕信息
  3. 三维空间长度温度数量_罗斯蒙特644温度变送器怎样接线?
  4. linux 日志按大小切割_nginx入门详解(六)- 日志切割
  5. mysql 多表既有内连接又有外连接_MySQL 多表查询中的内连接和外连接
  6. 关于举办第十届浙江省大学生智能汽车 竞赛暨第十六届全国大学生智能汽车竞赛 浙江赛区选拔赛的通知
  7. 2021年春季学期-信号与系统-第九次作业参考答案-第五小题
  8. panda对于EXCEL单元赋值如何能够设置string?
  9. 微波人体感应模块 24G 24.125g 感应开关微波传感器模块
  10. SP-45ML光电二极管放大电路及其动态特性