值得注意的ibatis动态sql语法格式
一、Ibatis常用動(dòng)態(tài)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中對應(yīng)的
??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字符串多個(gè)以,隔開
?? ??????? ??? ?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("輸入?yún)?shù):{}", params);
?? ???????? try {
?? ???????????? return? sqlMapClient.queryForList("iBatisSelectList", params);
?? ???????? } catch (SQLException e) {
?? ???????????? logger.info("參數(shù){},異常{}", params, e.getStackTrace());
?? ???????? }
?? ? }
這個(gè)例子涉及到like語句(areacode)用法,集合語句(type)用法,特殊字符用法等,注意格式!!!
轉(zhuǎn)載于:https://www.cnblogs.com/zhangyu1203/p/6233068.html
總結(jié)
以上是生活随笔為你收集整理的值得注意的ibatis动态sql语法格式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 俄罗斯方块java机器人_H5版俄罗斯方
- 下一篇: (心得二)java俄罗斯方块小游戏编写心