最近在使用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秒。

mybatis热加载的实现相关推荐

  1. springboot mybatis 热加载mapper.xml文件(最简单)

    大家好,我是烤鸭: 今天介绍一下springboot mybatis 热加载mapper.xml文件. 本来不打算写的,看到网上比较流行的方式都比较麻烦,想着简化一下. 网上流行的版本. https: ...

  2. Spring实现热加载MyBatis 的XML配置文件

    为什么80%的码农都做不了架构师?>>>    package com.myapp.util;import java.io.IOException; import java.lang ...

  3. SpringBoot+gradle+idea实现热部署和热加载

    前言 因为之前使用myeclipes的同学就知道,在使用myeclipes的时候,java文件或者jsp文件写完之后会被直接热加载到部署的容器中,从而在开发的时候,不同经常去重启项目,从而达到了增加开 ...

  4. springboot-devtools idea或eclipse 热加载

    大家好,我是烤鸭: 今天分享一下springboot项目的热加载. 第二种方式在eclipse和idea中都可以.虽然会有一些小坑. 方式有两种: 1.   springloaded(无效) < ...

  5. spring boot:从零开始搭建一个项目 - day 7 springboot devtools热加载+MybatisPlus配置+kisso从入门到放弃

    spring boot:从零开始搭建一个项目 - day 7 springboot devtools热加载+MybatisPlus配置+kisso从入门到放弃 一.springboot devtool ...

  6. Nacos Spring Cloud 实现配置热加载

    0x01:安装 Nacos 下载安装包, https://github.com/alibaba/nacos/releases 从下载 nacos-server-$version.zip 安装包. 解压 ...

  7. 热加载和热部署,没听过?看看 Tomcat 是怎么实现的

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者 | 不学无数的程序员 来源 | https://urlify ...

  8. 前端使用fis3开启本地服务器,并实现热加载功能

    为了摆脱调试页面的时候需要不断切换刷新的痛苦,热加载就是因此而生,自动刷新是如此快乐 使用fis3便可以帮我们轻松实现,如果不知道什么是fis3,你可以猛点这里:fis3 接下来就要开始了: 安装fi ...

  9. vue indev.html,webpack多入口热加载很慢

    项目是多入口(多页面),每次修改代码,热加载都很慢,定格在 94% asset optimization持续5秒左右,页面才更新内容.这个应该是webpack存在的问题. 我发现减少页面数量,热加载会 ...

最新文章

  1. 干货 | 如何入手卷积神经网络
  2. css实战笔记(一):写网页前的reset工作
  3. python密码学编程pdf-Python密码学编程 PDF 下载
  4. 谈谈 ES6 的 Promise 对象
  5. nginx php默认首页,iis、apache、nginx设置默认首页index.html方法图解 电脑维修技术网...
  6. P1064 金明的预算方案(分组背包)
  7. 第二章节 怀疑的练习和不会的练习
  8. 力扣题458:可怜的小猪
  9. linux msgrcv阻塞接收_linux下高并发服务器实现
  10. adroid 中公里除时间_全长210.72公里!这条高速有望年底通车…(视频图文)
  11. 运行FFT时出现未定义与‘matlab.ui.Figure’类型的输入参数相对应的运算符
  12. FreeRTOS的HOOK,以及(23)FreeRTOS 空闲任务分析
  13. C++sort函数使用(成绩排名)
  14. 九宫格,二十五宫格,甚至八十一宫格 技巧
  15. 微信小程序登录 返回 -41003
  16. 全加器构造出补码加法/减法器
  17. vue 基础域名-单独配置
  18. 【解决方案】医院医疗安防视频监控系统搭建及集成统一管理方案介绍
  19. 混合高斯模型去除背景
  20. 计算机显示在手机桌面上怎么解除,桌面布局已锁定怎么解除 桌面布局已锁定解除办法...

热门文章

  1. 韩顺平mysql优化笔记_韩顺平 mysql优化笔记.doc
  2. sap 标准委外和工序委外_SAP那些事-实战篇-74-公司间委外的几种方式探讨
  3. 甜甜用计算机1050除以一个数,上册四年级数学期末试卷带答案
  4. LKT系列加密芯片DES加解密以及OpenSSL DES接口实现加解密
  5. vb如何用代码对Excel的指定区域实行保护
  6. 用VB轻松调用其他程序
  7. VB:设定 MsgBox 在若干时间之后若无回应则自动关闭
  8. AI版“大家来找茬”上线,究竟谁是真人,谁是GAN生成的假脸?
  9. 一大波DeepMind专利来袭,AI圈瑟瑟发抖:连RNN都是你家的?
  10. 砸115亿元入局!后知后觉的欧洲重金建设AI,为赶中超美