mybatis log4j 在日志中打印sql_SpringBoot整合MyBatis+详细打印执行SQL语句
图片来源网路
为啥写这篇文章呢,有人可能会说springBoot的mybatis的starter都有了写这篇文章不是多此一举吗?难道是真的吗?其实我一开始也是使用mybatis的starter的,但是当我需要配置一个让mybatis可以将执行sql语句打印出来的配置时,难到了我,所以才想和大家分享一下springBoot整合MyBatis的方法,如果大家有更好地方法,欢迎讨论。首先看一下项目的目录结构
工程的目录结构
SpringBoot整合Mybatis的思路
1.设置数据源DataSource,我们使用@ConfigurationProperties来加载yml里数据源的配置
2.配置SqlSessionFactory在里面配置加载的xml配置文件和数据源
3.使用@MapperScan来扫描加载DAO层接口
4.在yml中配置相关参数
5.mybatis与数据库对应的文件生成可以参照之前写的还在手写Mybatis的xml文件,那你就OUT了
代码实现
1.引入相关jar
org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.2mysql mysql-connector-java 6.0.6com.alibaba druid 1.0.29org.projectlombok lombok 1.16.18
2.定义一个类,继承DruidDataSource,负责数据源的属性加载和初始化数据源
//为代码清晰去除相关引用@ConfigurationProperties(prefix = DataSourceSettings.PREFIX)@Datapublic class DataSourceSettings extends DruidDataSource { public static final String PREFIX = "druid.dataSource"; private String mapperLocations;}
3.设置扫描mapper的路径和初始化SqlSessionFactoryBean
//为代码清晰去除相关引用@Configuration@MapperScan(basePackages = {"com.example.demo.mapper"})@EnableConfigurationProperties(DataSourceSettings.class)public class DataSourceAutoConfiguration {//DataSourceSettings继承DruidDataSource,所以也是数据源 @Autowired DataSourceSettings settings;//SqlSessionFactoryBean相关配置 @Bean public SqlSessionFactoryBean sqlSessionFactory(ApplicationContext applicationContext) throws IOException { SqlSessionFactoryBean sqlSessionFactory = new SqlSessionFactoryBean();//配置数据源 sqlSessionFactory.setDataSource(settings);//日志主要为打印SQL语句 Properties properties = new Properties(); properties.setProperty("logImpl
mybatis log4j 在日志中打印sql_SpringBoot整合MyBatis+详细打印执行SQL语句相关推荐
- 如何优雅的将Mybatis日志中的Preparing与Parameters转换为可执行SQL
原文链接 疫情期间大家宅在家里是不是已经快憋出"病"了~~ 公司给开了VPN,手机电脑都能连,手机装上APP测试包,就能干活了,所以walking从2020.02.01入京以来,已 ...
- mybatis log4j 在日志中打印sql_MyBatis---gt;01总结
什么是MyBatis MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis使用简单的XML ...
- js语句连接mysql数据库_js中require()的用法----JS如何连接数据库执行sql语句或者建立数据库连接池...
var vue = require('vue'); 引入vue的意思,commonjs的写法.node都是用require来载入模块的,可以看看webpack+vue. require()可以调用模块 ...
- mybatis直接执行sql语句后续之一
在上一篇文章中,我们提到了让mybatis直接执行sql语句. http://xiabin1235910-qq-com.iteye.com/blog/1748886 接下来介绍在上一篇文章的基础上,我 ...
- java定时执行sql语句_spring中使用quartz动态添加定时任务执行sql
系统用来每天插入视图数据... 一.数据库表设计 1.接口配置表(t_m_db_interface_config) 2.接口日志表(t_m_db_interface_log) 3.前端配置页面 查询页 ...
- [转]在EntityFramework6中执行SQL语句
本文转自:http://www.cnblogs.com/wujingtao/p/5412329.html 在上一节中我介绍了如何使用EF6对数据库实现CRDU以及事务,我们没有写一句SQL就完成了所有 ...
- OA系统二十:请假审批一:审批功能概述;显示【请假审批】这个内嵌界面中【待审批请假数据】的SQL语句;
本篇博客的主要内容就是:在请假审批这个内嵌界面中,显示待审批请假数据的SQL语句: 目录 1.[请假审批]功能需要实现什么? 2.[请假审批界面]中[待审批请假数据]之:SQL语句 (1)审批列表中需 ...
- python中执行sql语句_python中执行sql语句
来源:疯狂的蚂蚁的博客 总结和整理 本文介绍了 Python 操作 MYSQL.执行 SQL 语句.获取结果集.遍历结果集.取得某个字 段.获取表字段名....... (游标 对象)用于执行查询和获取 ...
- phpmyadmin执行mysql语句_如何在phpMyAdmin中执行sql语句
大家使用phpMyAdmin中常遇到这样的问题:MySQL Error Message: MySQL Query Error SQL: SELECT main.*, field.* FROM ucho ...
最新文章
- C++智能指针及其简单实现
- MySQL索引类型 btree索引和hash索引的区别
- MySQL调优系列基础篇
- hdu1053 Entropy hdu2527 Safe Or Unsafe
- 计算机常用控温算法,常用温度控制方法原理 -解决方案-华强电子网
- 安卓开发替换json字符串中的数据_22个JavaScript开发技巧合集
- BugkuCTF-MISC题convert
- WordPress简洁大气自适应博客杂志类网站主题CX-MULTI
- k8s集群部署项目_容器交付流程介绍---K8S_Google工作笔记0059
- springmvc 异常001---在SpringMVC中使用@RequestBody注解处理json时,报出HTTP Status 415的解决方案
- 构建LVS+Keepalived高可用群集
- Java基本数据类型字节长度
- 怎么在计算机中添加用户账户,使用net user命令在win7电脑中添加账户的步骤
- PMP考试须知、注意事项
- express实现图片上传
- python画抛物线_python画抛物线
- 泰山OFFICE技术讲座:中英文间隔,间隔以哪个字体为准?
- php 高德地图创建标注,自定义图标-点标记-示例中心-JS API 示例 | 高德地图API
- 从ERP谈到中国企业升级
- 一粒云盘v2.1发布
热门文章
- Android UI:机智的远程动态更新策略
- ubuntu下面如何切换virtual_box的鼠标
- 【linux】——环境变量
- Java算法之寻找旋转数组中的最小值
- 1000道Python题库系列分享17(17道判断题)
- 奇怪,有的Python函数或方法调用需要两对括号?
- php 连接sap rfc 乱码,[RFC] sap rfc调用时判断连接状态
- python获取表单数据的代码_使用flask和python从html表单获取表单数据
- 华为服务器gpu卡型号,gpu服务器与配置
- android日历长按拖拽,CalendarView