1 @Resource(name = "hibernateTemplate") 2 public HibernateTemplate hibernateTemplate; 3 4 /** 5 * @Title: updateBySQL 6 * @Description: TODO(sql更新) 7 * @param @param sql sql语句 8 * @param @param obj 参数 9 * @param @return10 * @return int 更新数量11 * @throws12 */13 public int updateBySQL(final String sql, final Object[] obj) {14 return hibernateTemplate.execute(new HibernateCallback() {15 public Object doInHibernate(Session session)16 throws HibernateException, SQLException {17 SQLQuery query = session.createSQLQuery(sql);18 if (obj != null && obj.length > 0) {19 for (int i = 0; i < obj.length; i++) {20 query.setParameter(i, obj[i]);21 }22 }23 return query.executeUpdate();24 }25 });26 }
1 /**2 * 添加测试3 */4 public void addTest() {5 String sql = "insert test values(?, ?)";6 int i = this.updateBySQL(sql, new Object[]{1, "test1"});7 System.out.println("更新记录数:"+i);8 }
运行结果:
数据库:
注:我是在项目直接测试的,
1. hibernateTemplate通过spring注入。
2. addTest通过junit进行测试的。