关于MyBatis

279 阅读2分钟

前言

Mybatis,是一名JAVA程序员逃不过的知识点,(也是本人痛苦的源泉,开心了拿这玩意瞧一瞧瞬间变脸)

感觉Mybatis最大的难点在于配置文件,有可能配着配着 红色的波浪线 就密密麻麻了,超级超级烦,不是一般的烦,二般都没它烦。

正文

言归正传,首先就是要在官网找到入门篇,然后哗哗哗地 Ctrl-C,Ctrl-V.但是有一些比较重要的点要说一说

  • 首先就是官网地址,好像现在百度好像搜不到了,反正我是没搜到,地址如下

mybatis – MyBatis 3 | 入门

  • 在${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&amp;useUnicode=true&amp;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之后,心态一定要好,毕竟这玩意错起来能从百草园错到三味书屋,离谱得不要不要的。

总结

总结?这玩意还需要总结?不总结了,心情糟透了的说,凑合着看看吧。