1. 问题描述

Java操作数据库的两台流行天王-mybatis和hibernate,mytabis和hibernate的区别不想废话了,以前用hibernate,最近几年一直用的mybatis,目前Java连接数据库的方式基本都是preparedstatement,留好占位符,根据前端传入进行sql拼接,每个项目中总有那么几个:参数多,又是大于等于,又是日期转换,又是模糊查询的Sql,导致在数据库报错后,定位问题比较困难。

Idea开启Debug模式,日志打印示例(示例比较简单,能说明问题就好):

[http-nio-9107-exec-1] JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@f3a2023] will not be managed by Spring
[http-nio-9107-exec-1] ==>  Preparing: select * from hp_config where status ='1' and type = ? ORDER BY type
[http-nio-9107-exec-1] ==> Parameters: 2(String)

2. 解决方案

使用mybatis插件神器:MyBatis Log Plugin,参数自动赋值到占位符中,生成数据库可执行SQL,将SQL复制到数据库中执行,就能很快定位到问题了。

2.1 插件安装

2.2 插件效果及说明

插件可以在Idea的Tools下点击启动,也可以使用快捷键启动(ctrl+shift+alt+o)。

需特别说明的是:

要以Debug模式启动应用,并且日志级别也要是Debug。


更多知识请关注公众号:「软件老王」,IT技术与相关干货分享,回复关键字获取对应干货,java,送必看的10本“武功秘籍”;图片,送100多万张可商用高清图片;面试,送刚毕业就能月薪“20k”的java面试题,后续不断更新中,比如“软考”、“工具”等,已经在整理中。

Mybatis辅助神器-MyBatis Log Plugin,定位java中SQL问题相关推荐

  1. java中sql语句_java中sql语句的编写规则

    java中sql语句的编写规则 发布时间:2020-06-26 15:11:11 来源:亿速云 阅读:143 作者:Leah 这期内容当中小编将会给大家带来有关java中sql语句的编写规则,文章内容 ...

  2. Java中SQL语句的拼接规则

    拼接规则示例 java中的字符串只能双引号,如果字符串中需要拼接变量,该变量用单引号括起来,然后加两个双引号再加两个加号,中间就是变量. 例如:查询数据库中的用户名和密码. 注:为和sql表中的use ...

  3. java中sql语句怎么把开始和结束时间作为参数写sql查询_java程序员跳槽的一道坎,大公司面试官都会问的Mybatis...

    一.什么是Mybatis? 1. Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动.创建连接.创建statement ...

  4. java中sql语句怎么把开始和结束时间作为参数写sql查询_聊一聊MyBatis 和 SQL 注入间的恩恩怨怨

    整理了一些Java方面的架构.面试资料(微服务.集群.分布式.中间件等),有需要的小伙伴可以关注公众号[程序员内点事],无套路自行领取 引言 MyBatis 是一种持久层框架,介于 JDBC 和 Hi ...

  5. java中sql删除姓王的数据_JDBC删除数据实例

    在本教程将演示如何在JDBC应用程序中,删除数据库表中数据记录. 在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员权限,以在给定模式的数据库表中删除数据记录. 要执行以下示例,需要用 ...

  6. 关于Java中SQL语句拼写小问题(换行时缺少空格)

    java中的增删改查语句时,始终跑不通测试,折腾了半天才发现原来是sql语句拼写有问题,奇怪的是eclipse并没有提示: //一个单行查询,修改前 public Customer getOne(In ...

  7. java中sql查询语句_JAVA中用 SQL语句操作小结

    1.添加记录(INSERT) 使用SQL语句的INSERT命令可以向数据库中插入记录,INSERT命令的基本形式为: INSERT INTO 表名 [(字段名1,字段名2-)] VALUES (值1, ...

  8. 总结一下Java中SQL的九种写法

    因为在做持久层工具开发,现总结一下各种SQL的写法,也算是清晰一下自已的思路: 第一种写法 public void someMethod(){ try Connection conn=...; con ...

  9. java中sql去除游标_java.sql.SQLException:-ORA-01000:已超过最大打开游标

    小编典典 ORA-01000(最大打开游标错误)是Oracle数据库开发中极为常见的错误.在Java上下文中,当应用程序尝试打开比数据库实例上配置的游标更多的ResultSet时,就会发生这种情况. ...

  10. java中sql之count,SQL COUNT() 函数--编程学习网

    COUNT() 函数返回匹配指定条件的行数. SQL COUNT(column_name) 语法 COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入): SELECT C ...

最新文章

  1. 网络推广软件介绍外链坚持七大原则助力网站排名“蹭蹭上涨”!
  2. APK加壳【3】通用内存加载dex方案分析
  3. python3精要(45)-exit
  4. spring3.2 aop 搭建 (1)
  5. (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作
  6. 菜单向上拉html,模拟select控件,CSS上拉菜单
  7. element Table表格隐藏列
  8. 在树莓派上进行python编程_在树莓派上用Python控制LED
  9. 深入理解计算机系统(1.3)------操作系统的抽象概念
  10. PHP调整网页,用PHP程序实现支持页面后退的两种方法
  11. 2003-2017年地级市环境指标数据
  12. 2020数学建模B题
  13. windows10完全卸载windows自带的skype
  14. 基于单幅图像的2D转3D算法研究(转)
  15. 百度地图爬虫——小试牛刀
  16. 【卷积神经网络】CNN详解以及猫狗识别实例
  17. 什么软件可以把真人照片卡通化、动漫化?
  18. MQTT客户端远程控制WIFI设备(阿里云物联网平台)
  19. 阿里云服务器如何设置IPV6通过appstore的审核
  20. 《老男孩》上映 “娱乐宝”投资电影进入回收期

热门文章

  1. C#获取中国免费的天气信息
  2. 【Python百日进阶-Web开发-Feffery】Day315 - fac导航4:AntdDropdown下拉菜单
  3. 4 esp_transport 用 racoon协商 用setkey设置 spd
  4. Ubuntu14.10 更新源
  5. java中类成员的限定词_JAVA中类成员的限定词有以下几种、private ,public ,
  6. Strings的用法
  7. ROSERROR : The root link_base has an inertia specified in the URDF, but KDL does not support ...
  8. ubuntu中smbd服务搭建,ifcongfig命令没有IP地址
  9. 用poi 给word文档添加水印
  10. websocket简单聊天室