首页 技术 正文
技术 2022年11月22日
0 收藏 751 点赞 2,524 浏览 1985 个字

一、Ibatis常用动态sql语法,简单粗暴用一例子

<select id=”iBatisSelectList” parameterClass=”java.util.HashMap” resultMap=”BeanFieldMap”>
        SELECT
            Column_list
        FROM
            Table_name
        WHERE 1=1
            <isNotEmpty prepend=”and” property=”areacode”>
                areaCodes like concat(‘%’, #areacode#, ‘%’)
            </isNotEmpty>
            <isNotEmpty property=”types” prepend=”and”>
                <iterate property=”types” open=”(” conjunction=”or” close=”)”>
                    type like concat(‘%’,#types[]#,’%’)
                </iterate>
            </isNotEmpty>
        <isNotEmpty property=”datestart” prepend=”and”>
            inputDate <![CDATA[>]]> #datestart#
        </isNotEmpty>
        <isNotEmpty property=”dateend” prepend=”and”>
            inputDate <![CDATA[<]]> #dateend#
        </isNotEmpty>
        <isEqual property=”order” compareValue=”asc”>
             order by inputDate asc limit #skipCount#,#pageSize#
        </isEqual>
        <isEqual property=”order” compareValue=”desc”>
             order by inputDate desc limit #skipCount#,#pageSize#
        </isEqual>
</select>

其中java中对应的

public List<T> selectLis(String areacode,String type,String datestart,String dateend,Integer skipCount,String order,Integer pageSize){
         Map<String, Object> params = new HashMap<String, Object>();
            params.put(“areacode”, areacode);
            if(type.indexOf(“,”)>=0){    //type字符串多个以,隔开
                String[] types = type.split(“,”);
                params.put(“types”, types);
            }else{
                String[] types = {type};
                params.put(“types”, types);
            }
            params.put(“skipCount”, skipCount.toString());
            params.put(“pageSize”, pageSize.toString());
        params.put(“datestart”, datestart);
            params.put(“dateend”, dateend);
        params.put(“order”, order);
            logger.info(“输入参数:{}”, params);
            try {
                return  sqlMapClient.queryForList(“iBatisSelectList”, params);
            } catch (SQLException e) {
                logger.info(“参数{},异常{}”, params, e.getStackTrace());
            }
     }

  这个例子涉及到like语句(areacode)用法,集合语句(type)用法,特殊字符用法等,注意格式!!!

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,085
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,560
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,409
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,182
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,819
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,902