JdbcTemplate底层操作在IN语句中传入一组参数值实例
2015-05-11 10:46
411 查看
public List<Object> createPrivilege(int start,int end,String[] cards,String[] doors){ String cards_params=""; String doors_params=""; StringBuffer sql=null; if(cards.length>0&&doors.length>0){ for(int i=0;i<cards.length;i++){ cards_params+=cards[i]+(i!=cards.length-1?",":"");//把字符串数组拆开拼接“,”最后一个拼接空字符串 } for(int i=0;i<doors.length;i++){ doors_params+=doors[i]+(i!=doors.length-1?",":"");//把字符串数组拆开拼接“,”最后一个拼接空字符串 } } if(cards.length>0&&doors.length>0){ sql=new StringBuffer("SELECT * from (SELECT door_id,card_id,device_name,dept_name,card_no,user_name,employee_id,station,subname,name,ROWNUM rn "); sql.append(" from (SELECT T1.door_id,T1.ROOM_ID,T1.device_name,t2.station,t2.subname,t3.name from (SELECT door_id,room_id,device_name from"); sql.append(" t_device h1 INNER JOIN (SELECT door_id,device_id from t_gate_door WHERE door_id in ("+doors_params+")) ");//传入一组参数 sql.append(" h2 ON H1.device_id=H2.DEVICE_ID) t1 LEFT JOIN (SELECT r.roomid,st.station,st.subname from t_room r INNER JOIN t_station st on "); sql.append(" r.substationid=st.substationid) t2 on t1.ROOM_ID=t2.roomid LEFT JOIN t_room t3 on t1.room_id=t3.roomid) , (SELECT "); sql.append(" t1.card_id,t2.dept_name,t2.card_no,t2.user_name,t2.employee_id from "); sql.append(" (SELECT card_id from t_gate_card WHERE card_id in("+cards_params+")) ");//传入一组参数 sql.append(" t1 INNER JOIN (SELECT p1.card_id,p2.dept_name,p1.card_no,p2.user_name,p2.employee_id from "); sql.append(" t_gate_card p1 INNER JOIN (SELECT u.user_id,u.user_name,u.employee_id,"); sql.append(" d.dept_name from t_gate_user u LEFT JOIN t_gate_dept d on u.dept_id=d.dept_id) p2 on p1.user_id=p2.user_id) t2"); sql.append(" on T1.card_id=T2.CARD_ID) WHERE ROWNUM <="+end); sql.append(" ) WHERE rn>"+start); return this.getJdbcTemplate().query(sql.toString(), new getCreatePrivilege()); } return null; }
相关文章推荐
- ibatis in语句参数传入方法
- Sql语句中关于in 参数的操作
- iBatis in 语句参数传入方法
- Java调用Oracle存储过程时,给in语句传入参数的方式
- 关于JAVA调用ORACLE存储过程时,传入动态参数作为in语句条件的问题
- SQL Server中传入select语句in范围参数的解决办法
- 针对oracle中in操作超过1000个参数 会抛异常 处理实例
- 关于JAVA调用ORACLE存储过程时,传入动态参数作为in语句条件的问题
- sql语句,oracal更新操作传入参数为对象,判断对象中的字段是否有值,如果有就更新,如果没有就不更新
- ibatis in语句参数传入方法
- Mybatis mapper配置文件传入数组参数,同时操作一组数据
- ibatis in语句参数传入方法
- ibatis in语句参数传入方法
- oracle向in语句传入参数查不出数据
- mybatis sql in 查询(mybatis sql语句传入参数是list)mybatis中使用in查询时in怎么接收值
- PHP实现的通过参数生成MYSQL语句类完整实例
- hive基本的操作语句(实例简单易懂,create table XX as select XX)
- js获取url参数代码实例分享(JS操作URL)
- Hive操作语句的使用实例讲解
- Sql Server 函数的操作实例!(执行多条语句,返回Select查询后的临时表)