Mybatis的使用的一些经验总结

总结1
  • 查询
    1.写了几个需求都是写如下这些
    2.listByPage传入null,查询全部,不加入Pagenation)
    3.oracle可以查出rowid作为主键,联合主键就是判断不重复,然后rowid编辑和删除更快
    4.我们使用mybatis逆向工程生成的代码的时候,数据库的number类型,实体类型是Long的需要改为BigDecimal;
<!-- 查询相关(mybatis-oracle) -->
    <select id="listByPage" resultMap="BaseResultMap">
        select <include refid="baseCol"/> from MY_TABLE
        <where>
            <!-- 一般普通的下拉框多选的,前端json: nameArr = '张三,李四,王五,五六' -->
            <if test="nameArr != null and nameArr != ''">
                and NAME in
                <foreach collection="nameArr.split(',')" open="(" close=")" separator="," item="item">
                    #{item}
                </foreach>
            </if>

            <!-- 数据填写多个用逗号隔开或者有特殊符号分隔的查询写法,比如前端json: accoArr = '222,333#444#555',根据实际业务里面可以写成'%'||#{item}或者#{item}||'%' -->
            <if test="accoArr != null and accoArr != ''">
               and ACCO in
                (
                select ACCO from MY_TABLE t
                where
                <foreach collection="accoArr.split('#')" open="(" close=")" separator="or" item="item">
                    t.ACCO like '%'||#{item}||'%'
                </foreach>
                )
            </if>

            <!-- 查空 -->
            <if test="appointStatus != null and appointStatus != ''">
                <if test="appointStatus == 1">
                    and RESIGNATION_DATE is null
                </if>
                <if test="appointStatus == 2">
        
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值