mybatis知识复习

配置文件方式--快速入门
image

这里插入几个学习时的错误:

  1. mybatis-config.xml找不到Mapper:我的原因是把Mapper放到了Java下的SRC路径,但IDEA并不会寻找到,所以要么是在pom.xml中加上。。。(没看),我用的是:在resource下建立一个同名的包:com/。/xxx
    如果不想建立一个新包(但一般都会吧?),参考这个链接(里面有个用代码解决的方法):
    https://blog.csdn.net/ShiXinXin_Harbour/article/details/100639021
  2. 明明连接上了数据库,但Mapper中报错: Unable to resolve table 'course' ,解决:在MySQL里的DataSource里的project setting下主动连接需要的数据库。
  3. 明明连接上了数据库,但找不到数据库,很简单,在“ 1 of 18”(我的 显示)中点击数据库即可,因为你并没有让数据库显示出来,所以它就不显示了。
  4. 以上错误的正确解决方法都在CSDN的Java容器中收藏着
  5. 图中总是报错,说找不到对应的方法(大致这意思)
    image
    解决方法:因为“。。。”的对于的是Mapper.xml的namespace,所以namespace必须要一致!
  6. 错误原因:“Cause: org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping ” ,
    解决方法:因为我在调用这个方法时,使用的是Map进行封装,所以在Mapper中的paramType也要是Map,所以就解决了
    image
  7. 老师说的很好:delete、insert、update操作没有resultType属性,默认返回int型
    parameterType=Map,表示参数类型为Map,用Map封装参数 #表示在获取参数时可防止SQL注入攻击,应尽量使用#;模糊查询时,使用$
    INSERT INTO users SET username=,这种SQL语句是MmySql特有的扩展功能
  8. 上面问题7的再次说明,不想写了,直接链接:https://blog.csdn.net/ShiXinXin_Harbour/article/details/100655088

Mapper代理开发:

最终的项目结构
image
步骤:image
步骤的第一步,需要注意:建包是,不能用“。”分隔,要用“/”分隔
第二步:

加载SQL映射文件(Mapper):

郝娟老师教的跟这里的不同点:这里是有Mapper接口和Mapper.xml,但郝老师的是CourseDao取代了Mapper接口

插件mybatix简化了Mapper接口有SQL语句之间的关系,直接点那个“胖鸟”即可跳转到相应代码区域。

查询所有数据&步骤:
image

重点内容:不能自动映射属性名与列名
其实也可以在mybatis配置文件中设置。
image

参数占位符;parameterType;SQL语句中特殊字符处理
image

模糊查询,需要代码自动添加 模糊符号:%
image

多条件查询(动态查询条件)
image

SQL语句设置多个参数的方式:加上@Param注解;用实体类封装参数;map集合
image

动态SQL & 2种标签 & 多条件查询:
image

单条件动态查询 & choose标签;when标签;otherwise标签 :
image

凡是更新数据库的操作,必须提交事务:手动提交事务或者设置自动提交事务
image

需要添加数据,但是添加数据后,需要这条数据的ID:
keyProperty是实体类的属性,并不是sql字段(网上查的)
image

动态更新数据:
set标签,避免许多错误

批量删除数据 & 参数的集合 & 还是占位符 & 别忘了“()” & 或者用图中的分隔符 :
image

别名的设置:是在mabatis的主配置文件中设置的。
image

想要根据ID删除一条数据,本来想用#{id}的,但可惜的是总报错,所以就只能先这样,后续在学习这一点:
image

mybatis参数传递

总结mybatis编写代码的套路:

  1. 在pom.xml中引入对应的依赖,包括:mybatis;log4j;connector-mysql;等
  2. 创建mybatis主配置文件:mybatis-config.xml,可以从mybatis中文网中直接复制,修改对应的数值(需要连接的是数据库,不是数据库的表)即可。
  3. 假设需要操作的数据库为Animal,操作的表为Bird,生成pojo类,将Bird对应的属性,方法都生成好。
  4. 写出Bird对应的Mapper接口,写出需要用SQL执行的方法。
  5. 写出Mapper接口的实现配置文件:即BirdMapper.xml,用静态或动态的SQL语句实现接口的方法。
  6. 写一个测试类,测试方法。这个类的代码也可在mybatis中文网中复制,修改文件路径,修改对应的方法、类名即可。
posted @   aidengduff  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示
回到顶部