MyBatis-入门篇:MyBatis+Spring整合

入门文章:http://c.biancheng.net/view/4368.html

问题1:Mybatis(单独)测试增删改接口报错could not retrieve transation read-only status server

修改mysql版本之后好了

问题2:Spring与MyBatis整合,报错Could not get JDBC Connection; nested exception

解决思路:

  • 配置问题:db.properties配置文件与applicationContext-dao.xml配置文件配置
  • mysql版本问题【最终解决问题】
    比如我的mysql版本匹配的是:
<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.17</version>
</dependency>

问题3:Spring与MyBatis整合,报错Invalid bound statement (not found)

解决思路:

问题4:关于几种数据池dbcp,c3p0与druid,上面入门参考文章中用的是druid,看了下几种连接池的优缺点
参考文章:https://www.dazhuanlan.com/2019/08/24/5d6118b522d24/

问题5:执行用例testQueryUserAll,userName打印为null
在这里插入图片描述
文章里有对应的解决思路。

问题6:update时间并非当前系统时间
在这里插入图片描述
解决思路:时区问题、系统时间问题角度

问题7:typeHandlers类型处理器没有试过

问题8:plugins(插件)拦截器这个例子没有成功

问题9:resultMap使用,一对多查询出现报错NoSuchMethodException ()

解决思路:缺少无参的构造方法,被覆盖

问题10:将spring与Mybatis整合后,发现日志打印细节没有了,有警告
在这里插入图片描述


知识点1:接口的动态代理

  • Mapper的namespace必须和Mapper接口的全路径一致;
  • Mapper接口的方法名必须和sql定义的id一致
  • Mapper接口中方法的输入参数类型必须和sql定义的parameterType一致(不一定)
  • Mapper接口中方法的输出参数类型必须和SQL定义的resultType一致

知识点2:applicationContext-dao.xml结合mybatis-config.xml配置,更加灵活。
比如:在mybatis-config.xml定义独有的规则,在applicationContext-dao.xml引用
在这里插入图片描述
在这里插入图片描述
知识点3:动态SQL

if、when、foreach、trim、choose、where、set

多个参数的sql
在这里插入图片描述
在这里插入图片描述
知识点4:一级缓存、二级缓存

知识点5:高级查询


idea 添加webapp目录:https://www.csdn.net/gather_2b/MtjaMg2sMzA1Mi1ibG9n.html

猜你喜欢

转载自blog.csdn.net/LittleGirl_orBoy/article/details/106763287