ibatis使用

仅仅是执行流程介绍:
示例代码
执行流程
1. 建立sqlMap 里面写上SQL语句
2. XML 装载BasicDataBase类,并设置数据库连接user pwd dest 等信息(这个应该通过使用PropertyPlaceholderConfiger加载配置文件实现)
3. 创建domain和dao操作接口
4. 在daoImpl中继承SqlMapClientDapSupport 类和dao操作接口。
5. 在Impl中调用在1中写的SQL语句 setSqlMapClient(sqlMapClient) 设置类,使用getSqlMapClientTemplate.xxx调用,通过返回值的类型转换成所需要的。


SQL语句
1. prepend
参考1
参考2
参考3

dynamic标签的prepend属性作为前缀添加到结果内容前面,当标签的结果内容为空时,prepend属性将不起作用。
当dynamic标签中存在prepend属性时,将会把其嵌套子标签的第一个prepend属性忽略

2.select详解


//示例
<select id="UserDAO.getByQuery" parameterClass="java.util.Map"
            resultClass="UserDO">
        select
        <include refid="UserDO.all.fields"/>
        from
        users
        <dynamic prepend="where">
            <isNotEmpty prepend="and" property="nick">
                nick like
                concat(concat("%",#nick#),"%")
            </isNotEmpty>
            <isNotEmpty prepend="and" property="userTags">
                (<iterate prepend="" conjunction="or" property="userTags">
                <![CDATA[user_tag = user_tag | $userTags[]$]]>
            </iterate>)
            </isNotEmpty>
            <isNotEmpty prepend="and" property="userIds">
                user_id in
                <iterate open="(" close=")" property="userIds" conjunction=",">
                    $userIds[]$
                </iterate>
            </isNotEmpty>

            <isNotNull property="gmtModifiedStart" prepend="and">
                gmt_modified >= #gmtModifiedStart#
            </isNotNull>
            <isNotNull property="startCreated" prepend="and">
                gmt_created >= #startCreated#
            </isNotNull>
            <isNotNull property="endCreated" prepend="and">
                <![CDATA[gmt_created <= #endCreated#]]>
            </isNotNull>

            <isNotEmpty prepend="and" property="remark">
                <![CDATA[(remark is not null and remark <> '')]]>
            </isNotEmpty>
            <isNotNull prepend="and" property="superUser">
                <![CDATA[user_tag & (1<<13) = 0]]>
            </isNotNull>
            <isNotEmpty prepend="and" property="manager" open="(" close=")">
                manager in (#manager#, "咨询", "") or manager is null
            </isNotEmpty>

            <isNotNull prepend="and" property="filterTaoDianDian">
                <![CDATA[user_tag & (1<<28) = 0]]>
            </isNotNull>
        </dynamic>
        order by gmt_created desc
        <dynamic prepend="">
            <isNotEmpty prepend="" property="_start">
                <isNotEmpty prepend="" property="_limit">
                    limit
                    $_start$,$_limit$
                </isNotEmpty>
            </isNotEmpty>
        </dynamic>
    </select>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值