随笔 - 217  文章 - 4  评论 - 4  阅读 - 23587

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的环境配置比较繁琐,操作还是很简单的。

posted on   跨越&尘世  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
历史上的今天:
2021-07-01 自学Java第四课
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示