最近在使用mybatis,由于是刚刚开始用,用的并不顺手,目前是感觉有2个地方非常的不好用:

1、mybatis调试不方便

  由于dao层只有接口,实现只是一个map的xml文件,想加断点都没有地方加,直接导致的后果就是有时候出错了,完全是各种闭眼尝试,抓狂中。。。倒是可以把调试级别改成debug,会把执行的sql,以及参数都输出到控制台,可是一改成debug,那控制台输出的内容,就实在多到让人发指,甚至都会影响到代码的编写及调试,而且输出日志跟打断点调试根本就不是一个级别的。目前仍旧无法解决改问题。

2、mybatis改sql要不停的重启服务

  这个真心不能忍,map文件在系统重动后,map文件只加载一次,再修改map文件就不会生效了,如果要生效,就需要不停的重启服务。

  后来找到一个办法,就是使用Mybatis-Plus插件。

  

Mybatis-Plus插件的用法:

1、pom.xml的内容:

<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.1</version>
</dependency> <dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.0</version>
</dependency> <dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>1.5</version>
<scope>system</scope>
<systemPath>${lib.dir}/mybatis-plus-1.5.jar</systemPath>
</dependency>

我这里是本地引的包,因为看Mybatis-Plus插件官网的说法,就是添加Mybatis-Plus插件会添加mybatis的依赖包,我已经引过mybatis的包了,不想让他再给我引了。

Mybatis-Plus插件的地址:http://mvnrepository.com/artifact/com.baomidou/mybatis-plus/1.5

然后修改spring的配置文件:

修改前:

 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dynamicDataSource" />
<!-- 加载mybatis主配置文件 -->
<property name="configLocation" value="classpath:conf/mybatis-config.xml"></property>
<!-- 自动扫描mapping.xml文件 -->
<property name="mapperLocations"
value="classpath:com/huarui/mapping/${jdbc.dialect}/*.xml"></property>
</bean>

修改后:

    <bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean">
<property name="dataSource" ref="dynamicDataSource" />
<!-- 加载mybatis主配置文件 -->
<property name="configLocation" value="classpath:conf/mybatis-config.xml"></property>
<!-- 自动扫描mapping.xml文件 -->
<property name="mapperLocations"
value="classpath:com/huarui/mapping/${jdbc.dialect}/*.xml"></property>
</bean> <bean class="com.baomidou.mybatisplus.spring.MybatisMapperRefresh">
<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"/>
<constructor-arg name="mapperLocations" value="classpath:com/huarui/mapping/${jdbc.dialect}/*.xml"/>
<constructor-arg name="delaySeconds" value="5"/>
<constructor-arg name="sleepSeconds" value="10"/>
<constructor-arg name="enabled" value="true"/>
</bean>

修改后,改sql就会自动热加载了,其实也不是实时加载,原理是每隔一个时间刷新一下map,我这里设置的是delaySeconds是5秒,sleepSeconds是10秒。

最新文章

  1. JS常用正则表达式
  2. 无法启用插件,因为它引起了一个致命错误(fatal error)。
  3. ABAP 数量单位转换
  4. JMeter常用测试元件—学习笔记
  5. java与微信企业号交互
  6. MC java 远程调试 plugin 开发
  7. Sqoop2常用命令介绍
  8. android 上传文件
  9. Azure 基础 : 使用 template 简化部署
  10. 从a标签传值中文乱码解决
  11. 搜索引擎case︱从搜索序列文本看高端商务车︱统计之都
  12. POJ-3292 Semi-prime H-numbers---筛素数
  13. Shiro详解
  14. nginx增加第三方模块
  15. esp8266(0) AT指令
  16. poj2586 【贪心】
  17. (转)Maven学习总结(一)——Maven入门 安装使用
  18. 写一个singleton
  19. springMVC框架的作用
  20. SpringCloud - RestTemplate 的三种使用方式

热门文章

  1. Browser设置搜索引擎
  2. springMVC验证码程序
  3. css 常用样式
  4. Asp.Net 基础理论
  5. (转)字符编码笔记:ASCII,Unicode和UTF-8
  6. elasticsearch-索引
  7. [UE4]武器碰撞
  8. hdu 2586(LCA在线ST)
  9. Objective C笔记(第一天)
  10. bootstrap中实现外层DIV自适应,内层DIV宽度固定且居中的布局