首次使用IDEA完成纯mybatis项目过程中遇到的那些坑【填了它】

前篇:

之前一直用的是eclipse,但是进公司后身边朋友都在使用idea,我们老大也豪言说IDEA是世界上最优秀的Java IDE,没有之一。。。所以,我就被诱惑进idea的坑里了。。。作为一名纯正的使用惯了eclipse的小童鞋,刚开始用idea真的是心力交瘁,叹口气都能飘出心头血的颜色。。。。刚好老大让完成一个小功能,于是。。我的踩坑记开始了。。。

问题一


slf报错,说是缺少nop包,看下我的pom.xml
首次使用IDEA完成纯mybatis项目过程中遇到的那些坑【填了它】_第1张图片
确实没有,那给它加上就ok了。
首次使用IDEA完成纯mybatis项目过程中遇到的那些坑【填了它】_第2张图片
看下结果

解决啦!

问题二

使用mybatis的时候需要创建mapper.xml文件,看看接口文件和xml文件。
UserMapper.java:
首次使用IDEA完成纯mybatis项目过程中遇到的那些坑【填了它】_第3张图片
UserMapper.xml:
首次使用IDEA完成纯mybatis项目过程中遇到的那些坑【填了它】_第4张图片
这样的写法在eclipse里面是绝对没什么问题的,但是在idea里面就会报错啊啊啊啊,各种错。。看下log。
首次使用IDEA完成纯mybatis项目过程中遇到的那些坑【填了它】_第5张图片

这里说我的user没有getter方法,但是我的user是个对象啊喂。。刚开始还以为是我mybatis-config.xml配置不对导致映射出错,结果检查了好久发现没问题。后来偶然发现原来是因为我在mapper.xml里面select语句赋值的时候用了#{user.name}…简直神经。。。
首次使用IDEA完成纯mybatis项目过程中遇到的那些坑【填了它】_第6张图片
删掉变量名前面的对象名user,就好了。。。看下结果。

好了。解决。

问题三

在连接数据库进行select的时候没问题,但是在insert的时候报错。。

差不多就是这样的错,read-only,tx-isolation之类的,不方便截图就不放图了。这个错的原因是数据库的transation-isolation设置为REPEATABLE-READ,只要把它的隔离级别改成READ-COMMITTED就好了。步骤如下:
1.连接数据库

2.使用show variables like ‘%iso%’;查询如下
首次使用IDEA完成纯mybatis项目过程中遇到的那些坑【填了它】_第7张图片
3.将transaction_insolation的value换成READ-COMMITTED.

换完重启下应用就行了(暂时的换)。(这里有点奇怪,前一天我换了之后问题解决了,第二天我再查了一遍发现transation_isolation还是REPEATABLE-READ,但是运行不报错了。。。还没搞懂为什么。。)

问题四

使用insert向数据库添加数据的时候程序显示成功了,返回影响行数为1,但是在数据库里面找不到数据。查了下说是因为没有commit,然后在service层架上commit就解决了。
首次使用IDEA完成纯mybatis项目过程中遇到的那些坑【填了它】_第8张图片

暂时先更到这,后面遇到问题了继续更!就酱~

你可能感兴趣的:(Java)