重生之我在地球Online学JAVA day12
1、在进行mybatis操作时,实体类属性名和数据库表查询返回的字段名不一致会导致获取数据为null,此时就需要进行数据封装操作(三种方法):
(1)起别名:在SQL语句中,对不一样的列名起别名,别名和实体类属性名一样。
(2)手动结果映射:通过 @Results及@Result 进行手动结果映射。
(3)开启驼峰命名:如果字段名与属性名符合驼峰命名规则,mybatis会自动通过驼峰命名规则映射。
2、XML映射文件规范:
XML映射文件的名称与Mapper接口名称一致,并且将XML映射文件和Mapper接口放置在相同包下(同包同名)。
XML映射文件的namespace属性为Mapper接口全限定名一致。
XML映射文件中sql语句的id与Mapper 接口中的方法名一致,并保持返回类型一致。
3、动态SQL
(1)< if>标签
用于判断条件是否成立,如果条件为true,则拼接SQL。
形式:< if test="name != null">…< /if>
(2)< where>标签
where 元素只会在子元素有内容的情况下才插入where子句,而且会自动去除子句的开头的AND 或OR
(3)< set>标签
动态地在行首插入 SET 关键字,并会删掉额外的逗号。(用在update语句中)
(4)< foreach>标签
collection:集合名称
item:集合遍历出来的元素/项
separator:每一次遍历使用的分隔符
open:遍历开始前拼接的片段
close:遍历结束后拼接的片段
评论
问答助学
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
内容推荐
Day 1✅ 今天做了:Claude Code源码学习;LangChain学习⏰ 明天计划:📚 今日感悟:
1
一.今天学了pagehelper分页查询员工管理的查询部分二.明天目标hot100 2道三.今日感悟对接口的各种注解理解的还不充分,要多练多看
1
Day 12✅ 今天做了:1、5487:均值漂移聚类、谱聚类2、6007复习及练习题⏰ 明天计划:6007复习
2
day4✅️:这两天琢磨了很久代理,终于ChatGPT和codex都能正常使用了,学习了Git的基础命令⏰️:明天一定开始学习SpringBoot📚:AI的发展实在太快了,从前故步自封,总觉得应该多思考尽量不依赖AI,这两天为了部署codex,我深刻意识到国内的大模型、智能体和国外相比,差距真的不是一点半点,忽然意识到一个很可怕的事情,好像努力很久追逐得到的却是别人玩剩下的,为此,我跟我舍友深入
6
一.今天学了1.tlias员工信息保存2.动态SQL实现:用if标签判断是否拼接用where标签去除多余and或or二.明天目标hot100 2道5集三.今日感悟感觉后端接口的注解都是为了简化增删改查的流程,感觉后端做的好像就是增删改查🤡,现在是学习阶段,先了解一下常用的注解,开始做项目后自然会熟悉怎么自己开始一个项目的对吧?
2
