前言
Mybatis,是一名JAVA程序员逃不过的知识点,(也是本人痛苦的源泉,开心了拿这玩意瞧一瞧瞬间变脸)
感觉Mybatis最大的难点在于配置文件,有可能配着配着 红色的波浪线 就密密麻麻了,超级超级烦,不是一般的烦,二般都没它烦。
正文
言归正传,首先就是要在官网找到入门篇,然后哗哗哗地 Ctrl-C,Ctrl-V.但是有一些比较重要的点要说一说
- 首先就是官网地址,好像现在百度好像搜不到了,反正我是没搜到,地址如下
- 在${Driver}中,MySQL8.0及以后版本要求填入的东西变了,具体内容如下:
com.mysql.cj.jdbc.Driver
- 在${url}中,MySQL8.0及以后版本要求填入的东西变了,具体内容如下:有点长,忍耐一下(doge)
jdbc:mysql://localhost:3306/mybatis ?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8
最终效果应该是这样
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis ?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="root"/><!--这里是用户名,一般都是root-->
<property name="password" value="123456"/><!--这里是密码-->
</dataSource>
</environment>
</environments>
- 然后就是在mapper中的resource问题,如果是要映射接口的xml文件,该xml文件的路径一定一定一定要和接口的路径对齐,不然有可能导致接口无法找到对应xml文件而报出以下错误
Invalid bound statement (not found)
当然如果对齐了还报这个错误,那……呃……我也不知道是怎么回事,自己搜去吧
- 再然后就是如果SQL语句里有多个
#{???},一定要在对应方法的参数中加上@Pram("???")来限制参数的填充,不然可能会报错,报的什么错我也忘记了,Paramter什么来着?反正就是告诉你占位符的数量不对 - 要使用ResultMap去规避SQL与JAVA命名规则不一致的问题,不然结果中就会显示NULL。
- 最后最重要的一点,开始写Mybatis之后,心态一定要好,毕竟这玩意错起来能从百草园错到三味书屋,离谱得不要不要的。
总结
总结?这玩意还需要总结?不总结了,心情糟透了的说,凑合着看看吧。