mybatis-查询练习
今天使用mybatis进行数据库的查询练习
1、最基本的练习:查询数据库的全部信息和根据参数进行查询。这个没有什么体会,只是增加了自己对于maven操作mybatis的熟悉程度。
这个里面有几个注意事项:
*参数占位符:
1、#{},会替换成?,防止sql注入
2、${},拼接sql语句,会发生sql注入问题
*参数类型:parameterType指定返回参数类型,一般省略
*特殊字符
1、转义字符
2、CDATA区
2、动态sql查询,用于条件查询当中
使用if标签,test里面放条件
字符解决
1、恒等式 1=1
2、where标签 在mybatis中可以智能识别
<select id="selectByCondition" resultMap="brandResultMap"> select * from tb_brand <where> <if test="status != null"> and status = #{status} </if> <if test="companyName != null and companyName != ''"> and company_name like #{companyName} </if> <if test="brandName != null and brandName != ''"> and brand_name like #{brandName}; </if> </where> </select>
这是用户输入全部参数的情况。
<select id="selectByConditionSingle" resultMap="brandResultMap"> select * from tb_brand where <choose> <!--相当于Switch--> <when test="status != null"> status = #{status} </when><!--相当于case--> <when test="companyName != null and companyName != ''"> companyName = #{companyName} </when> <when test="brandName != null and brandName != ''"> brandName = #{brandName} </when> <otherwise><!--相当于defaulr--> 1 = 1; </otherwise> </choose>; </select>
在条件查询中,用户不可能总是输入全部参数,这时候就需要判断用户是否输入参数,使用choose、when、otherwise标签进行查询,他们在mybatis中同样也是被智能识别的。
我一共学习了三种知识对数据库进行查询,第一种是jdbc,这个我认为最麻烦,而且限制性很高;第二种是Druid,代码量减少了,逻辑也更为清晰,但仍然不够灵活;现在练习的mybatis,最大的特点是灵活性很高,许多东西不需要再使用js,直接再数据库操作语句进行限制即可,但是maven和mybatis的环境配置比较繁琐,操作还是很简单的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
2021-07-01 自学Java第四课