SpringJDBC
来源:互联网 发布:记忆曲线软件 编辑:程序博客网 时间:2024/05/20 04:51
绑定变量+ Where In
/** * 根据要同步数据ID的集合 向省Portal表查询记录,得到的数据放到synMap (key:表名T_PROVINCE_PORTALS value:表的数据provinceMap) * @param idsSet */private void provincePortals(Set<String> idsSet) {NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate);List<Map<String, Object>> list = namedParameterJdbcTemplate.queryForList("SELECT CODE , ENDPOINT FROM T_PROVINCE_PORTALS WHERE CODE IN (:ids) ",new MapSqlParameterSource().addValue("ids", idsSet));Map<String, Object> provinceMap = new HashMap<String, Object>();for (Map<String, Object> map : list)provinceMap.put(map.get("CODE").toString(), String.valueOf(map.get("ENDPOINT")));synMap.put("T_PROVINCE_PORTALS".toLowerCase(), provinceMap);}
/** * 给需要同步的数据 打上一个作业号,表示这些数据属于这一次同步。 * @param syncType (locale:同步到本地应用的application) (remote:同步到远程oracle) * @param workId 作业号 */private void markWorkID(String syncType, String workId) {String sql="";if("locale".equals(syncType)){sql = "UPDATE T_DATA_SYNC SET LOCALE_SYNC=2 ,LOCALE_WORK_ID=? WHERE ID IN("+ "SELECT ID FROM T_DATA_SYNC WHERE LOCALE_SYNC=1) AND LOCALE_WORK_ID IS NULL";}else if("remote".equals(syncType)){sql = "UPDATE T_DATA_SYNC SET REMOTE_SYNC=2 ,REMOTE_WORK_ID=? WHERE ID IN("+ "SELECT ID FROM T_DATA_SYNC WHERE REMOTE_SYNC=1) AND REMOTE_WORK_ID IS NULL";}int updateCount = jdbcTemplate.update(sql, workId);log.info("作业号:"+workId+" 有多少条记录要被同步:" + updateCount);}
批处理
/** * 下线日志插入oracle数据库 * @param pwdLogList */public long addLogoutLogIntoOracle(List<String> logutLogList){log.info("addLogoutLogIntoOracle log size:"+logutLogList.size());//14个字段String sql="INSERT INTO T_LOGOUT_RECORD(SERIAL,USERIP,SERVERNAME,ACCOUNT,CLIENTTYPE," +"ACCOUNTTYPE,BELONEPRO,ACCESSPRO,RESULTCODE,DESCRIPTION," +"EXCEPTION,STARTTIME,ENDTIME,REMARK) " +"VALUES (?,?,?,?,?," +"?,?,?,?,?," +"?,?,?,?)";//把log 字符串 装换成 log 属性数组final List<Object[]> logList=changeLogStringToBean(logutLogList);try {int[] updateCounts = jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {@Overridepublic void setValues(PreparedStatement ps, int i) throws SQLException {ps.setString(1, (String) logList.get(i)[0]);ps.setString(2, (String) logList.get(i)[1]);ps.setString(3, (String) logList.get(i)[2]);ps.setString(4, (String) logList.get(i)[3]);ps.setInt(5, Integer.valueOf(String.valueOf(logList.get(i)[4])));ps.setInt(6, Integer.valueOf(String.valueOf(logList.get(i)[5])));ps.setString(7, (String) logList.get(i)[6]);ps.setString(8, (String) logList.get(i)[7]);ps.setString(9, (String) logList.get(i)[8]);ps.setString(10, (String) logList.get(i)[9]);ps.setString(11, (String) logList.get(i)[10]);ps.setTimestamp(12, new Timestamp(Long.valueOf((String) logList.get(i)[11])));ps.setTimestamp(13, new Timestamp(Long.valueOf((String) logList.get(i)[12])));ps.setString(14, (String) logList.get(i)[13]);}@Overridepublic int getBatchSize() {return logList.size();}});return updateCounts.length;} catch (DataAccessException e) {log.error(e.getMessage());}return 0;}
0 0
- SpringJDBC
- SpringJDBC
- SpringJDBC
- SpringJDBC
- springJDBC
- springjdbc
- springJDBC
- SpringJdbc简介
- SpringJDBC--NamedParameterJdbcTemplate
- SpringJdbc查询,
- 初学SpringJDBC
- SpringJDBC 事务管理
- springJDBC使用
- SpringMVC + Spring + SpringJDBC整合
- struts2/spring/springJDBC优缺点
- SpringMVC3 + SpringJDBC整合
- SpringMVC3 + SpringJDBC整合
- SpringMVC3 + SpringJDBC整合
- Linux设备驱动程序-并发和竞态
- HANA Modelling Privileges
- FFmpeg简单介绍
- 办公室,手机上网不用愁
- win7 ubuntu 硬盘安装
- SpringJDBC
- Request的getParameter和getAttribute方法的区别
- aidl 的简单介绍和使用
- 数据挖掘十大经典算法(详解)
- android在activity中锁屏解锁后重走OnCreate的问题的解决办法
- VS2010/MFC编程入门之六(对话框:为对话框添加控件)
- JAR打包的误区:第三方包的嵌套打包
- java基础之 赋值运算符
- 使用postgreSQL命令行工具在shell脚本中自动执行数据库脚本