spring事务控制
来源:互联网 发布:mac bluestack模拟器 编辑:程序博客网 时间:2024/06/06 10:35
Spring JdbcTemplate 批量执行SQL语句
Anonymous
view plaincopy to clipboardprint?
package nut.jade.db;
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
/**
* 数据库操作类
*
* @author nut.jade
*
*/
@SuppressWarnings("unused")
public class DBUtil {
/**
* jdbc 操作类
*/
private JdbcTemplate jdbcTemplate;
/**
* 事务管理模版
*/
private TransactionTemplate transactionTemplate;
/**
* 数据源
*/
private DataSource ds;
public DBUtil() {
ds = getDataSource();
jdbcTemplate = new JdbcTemplate(ds);
// // 事务处理
PlatformTransactionManager platformTransactionManager = new DataSourceTransactionManager(
ds);
transactionTemplate = new TransactionTemplate(
platformTransactionManager);
transactionTemplate.afterPropertiesSet();
transactionTemplate
.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
}
/**
* 不带事务处理,批量更新
*
* @param sql
* @param obj
*/
public boolean batchUpdate(String sql, final List<Object[]> objs) {
try {
jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {
public void setValues(PreparedStatement ps, int i)
throws SQLException {
Object[] obj = objs.get(i);
if (obj != null) {
for (int j = 0; j < obj.length; j++) {
ps.setObject(j + 1, obj[j]);
}
}
}
public int getBatchSize() {
return objs.size();
}
});
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
return true;
}
/**
* 事务处理,批量更新List<String> String是SQL语句
*
* @return
*/
public boolean batchUpdate(final List<String> sqlList) {
try {
transactionTemplate.execute(new TransactionCallback() {
public Object doInTransaction(TransactionStatus status) {
for (String sql : sqlList) {
jdbcTemplate.update(sql);
}
return null;
}
});
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 事务处理,批量更新
* Map<String,Object[]> String是SQL语句带占位符,Object[]是占位符值
*
* @param map
* Key值 是不允许重复为SQL
* @return
*/
public boolean batchUpdate(final Map<String, Object[]> sqlMap) {
try {
transactionTemplate.execute(new TransactionCallback() {
public Object doInTransaction(TransactionStatus status) {
Set<String> keys = sqlMap.keySet();
for (String sql : keys) {
jdbcTemplate.update(sql, sqlMap.get(sql));
}
return null;
}
});
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 事务处理,批量更新
* Object[][] 允許重復 二维数组,第一列为SQL语句,第二列为Object[]占位符值
*
* @param map
* @return
*/
public boolean batchUpdate(final Object[][] sqlArr) {
try {
transactionTemplate.execute(new TransactionCallback() {
public Object doInTransaction(TransactionStatus status) {
for (int i = 0; i < sqlArr.length; i++) {
String sql = sqlArr[i][0].toString();
Object[] obj = (Object[]) sqlArr[i][1];
jdbcTemplate.update(sql, obj);
}
return null;
}
});
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 批量更新
*
* @param sqls
* @return
*/
public int[] batchUpdate(String[] sqls) {
int[] ints = jdbcTemplate.batchUpdate(sqls);
return ints;
}
/**
* 获取数据源
*
* @return
*/
private DataSource getDataSource() {
String dsType = ConfigBean.getProperty(ConfigBean.JDBC_POOL_TYPE);
if (dsType.equals(ConfigBean.DBCPPool)) {
return DBCPPool.getDataSource();
}
String jndi = ConfigBean.getProperty(ConfigBean.JDBC_JNDI);
InitialContext ctx;
DataSource ds = null;
try {
ctx = new InitialContext();
ds = (DataSource) ctx.lookup(jndi);
} catch (NamingException e) {
e.printStackTrace();
}
return ds;
}
}
Spring JdbcTemplate 批量执行SQL语句
Anonymous
view plaincopy to clipboardprint?
package nut.jade.db;
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
/**
* 数据库操作类
*
* @author nut.jade
*
*/
@SuppressWarnings("unused")
public class DBUtil {
/**
* jdbc 操作类
*/
private JdbcTemplate jdbcTemplate;
/**
* 事务管理模版
*/
private TransactionTemplate transactionTemplate;
/**
* 数据源
*/
private DataSource ds;
public DBUtil() {
ds = getDataSource();
jdbcTemplate = new JdbcTemplate(ds);
// // 事务处理
PlatformTransactionManager platformTransactionManager = new DataSourceTransactionManager(
ds);
transactionTemplate = new TransactionTemplate(
platformTransactionManager);
transactionTemplate.afterPropertiesSet();
transactionTemplate
.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
}
/**
* 不带事务处理,批量更新
*
* @param sql
* @param obj
*/
public boolean batchUpdate(String sql, final List<Object[]> objs) {
try {
jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {
public void setValues(PreparedStatement ps, int i)
throws SQLException {
Object[] obj = objs.get(i);
if (obj != null) {
for (int j = 0; j < obj.length; j++) {
ps.setObject(j + 1, obj[j]);
}
}
}
public int getBatchSize() {
return objs.size();
}
});
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
return true;
}
/**
* 事务处理,批量更新List<String> String是SQL语句
*
* @return
*/
public boolean batchUpdate(final List<String> sqlList) {
try {
transactionTemplate.execute(new TransactionCallback() {
public Object doInTransaction(TransactionStatus status) {
for (String sql : sqlList) {
jdbcTemplate.update(sql);
}
return null;
}
});
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 事务处理,批量更新
* Map<String,Object[]> String是SQL语句带占位符,Object[]是占位符值
*
* @param map
* Key值 是不允许重复为SQL
* @return
*/
public boolean batchUpdate(final Map<String, Object[]> sqlMap) {
try {
transactionTemplate.execute(new TransactionCallback() {
public Object doInTransaction(TransactionStatus status) {
Set<String> keys = sqlMap.keySet();
for (String sql : keys) {
jdbcTemplate.update(sql, sqlMap.get(sql));
}
return null;
}
});
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 事务处理,批量更新
* Object[][] 允許重復 二维数组,第一列为SQL语句,第二列为Object[]占位符值
*
* @param map
* @return
*/
public boolean batchUpdate(final Object[][] sqlArr) {
try {
transactionTemplate.execute(new TransactionCallback() {
public Object doInTransaction(TransactionStatus status) {
for (int i = 0; i < sqlArr.length; i++) {
String sql = sqlArr[i][0].toString();
Object[] obj = (Object[]) sqlArr[i][1];
jdbcTemplate.update(sql, obj);
}
return null;
}
});
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 批量更新
*
* @param sqls
* @return
*/
public int[] batchUpdate(String[] sqls) {
int[] ints = jdbcTemplate.batchUpdate(sqls);
return ints;
}
/**
* 获取数据源
*
* @return
*/
private DataSource getDataSource() {
String dsType = ConfigBean.getProperty(ConfigBean.JDBC_POOL_TYPE);
if (dsType.equals(ConfigBean.DBCPPool)) {
return DBCPPool.getDataSource();
}
String jndi = ConfigBean.getProperty(ConfigBean.JDBC_JNDI);
InitialContext ctx;
DataSource ds = null;
try {
ctx = new InitialContext();
ds = (DataSource) ctx.lookup(jndi);
} catch (NamingException e) {
e.printStackTrace();
}
return ds;
}
}
package nut.jade.db;
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
imp
/**
* 数据库操作类
*
* @author nut.jade
*
*/
@SuppressWarnings("unused")
public class DBUtil {
/**
* jdbc 操作类
*/
private JdbcTemplate jdbcTemplate;
/**
* 事务管理模版
*/
private TransactionTemplate transactionTemplate;
/**
* 数据源
*/
private DataSource ds;
public DBUtil() {
ds = getDataSource();
jdbcTemplate = new JdbcTemplate(ds);
// // 事务处理
PlatformTransactionManager platformTransactionManager = new DataSourceTransactionManager(
ds);
transactionTemplate = new TransactionTemplate(
platformTransactionManager);
transactionTemplate.afterPropertiesSet();
transactionTemplate
.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
}
/**
* 不带事务处理,批量更新
*
* @param sql
* @param obj
*/
public boolean batchUpdate(String sql, final List<Object[]> objs) {
try {
jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {
public void setValues(PreparedStatement ps, int i)
throws SQLException {
Object[] obj = objs.get(i);
if (obj != null) {
for (int j = 0; j < obj.length; j++) {
ps.setObject(j + 1, obj[j]);
}
}
}
public int getBatchSize() {
return objs.size();
}
});
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
return true;
}
/**
* 事务处理,批量更新List<String> String是SQL语句
*
* @return
*/
public boolean batchUpdate(final List<String> sqlList) {
try {
transactionTemplate.execute(new TransactionCallback() {
public Object doInTransaction(TransactionStatus status) {
for (String sql : sqlList) {
jdbcTemplate.update(sql);
}
return null;
}
});
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 事务处理,批量更新
* Map<String,Object[]> String是SQL语句带占位符,Object[]是占位符值
*
* @param map
* Key值 是不允许重复为SQL
* @return
*/
public boolean batchUpdate(final Map<String, Object[]> sqlMap) {
try {
transactionTemplate.execute(new TransactionCallback() {
public Object doInTransaction(TransactionStatus status) {
Set<String> keys = sqlMap.keySet();
for (String sql : keys) {
jdbcTemplate.update(sql, sqlMap.get(sql));
}
return null;
}
});
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 事务处理,批量更新
* Object[][] 允許重復 二维数组,第一列为SQL语句,第二列为Object[]占位符值
*
* @param map
* @return
*/
public boolean batchUpdate(final Object[][] sqlArr) {
try {
transactionTemplate.execute(new TransactionCallback() {
public Object doInTransaction(TransactionStatus status) {
for (int i = 0; i < sqlArr.length; i++) {
String sql = sqlArr[i][0].toString();
Object[] obj = (Object[]) sqlArr[i][1];
jdbcTemplate.update(sql, obj);
}
return null;
}
});
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 批量更新
*
* @param sqls
* @return
*/
public int[] batchUpdate(String[] sqls) {
int[] ints = jdbcTemplate.batchUpdate(sqls);
return ints;
}
/**
* 获取数据源
*
* @return
*/
private DataSource getDataSource() {
String dsType = ConfigBean.getProperty(ConfigBean.JDBC_POOL_TYPE);
if (dsType.equals(ConfigBean.DBCPPool)) {
return DBCPPool.getDataSource();
}
String jndi = ConfigBean.getProperty(ConfigBean.JDBC_JNDI);
InitialContext ctx;
DataSource ds = null;
try {
ctx = new InitialContext();
ds = (DataSource) ctx.lookup(jndi);
} catch (NamingException e) {
e.printStackTrace();
}
return ds;
}
}
阅读全文
0 0
- spring事务控制【Spring】
- spring 事务控制
- spring多线程事务控制
- spring 事务控制
- Spring事务控制
- JdbcTemplate spring 事务控制
- Spring中的事务控制
- spring事务控制
- Spring嵌套事务控制
- Spring事务控制
- Spring中的事务控制
- spring的事务控制
- spring 事务控制
- Spring中的事务控制
- strut2+spring事务控制
- Spring事务控制
- Spring的事务控制
- spring事务控制详解
- 动态代理和静态代理
- java-velocity的用法
- Canonical Correlation Analysis(典型关联分析)
- java正则表达式实例
- 11款新编程工具!
- spring事务控制
- pdm遇到问题处理
- Spring Xml 文件的配置 参数 属性 说明
- @RequestHeader
- vector&list
- Spring 框架 执行SQL getJdbcTemplate().query update 用法
- 正则表达式
- XRecyclerView 实现下拉刷新和上拉加载更多
- 数据库解锁步骤
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
树上杏干的功效与作用
杏干的功效及作用
木瓜杏干
杏干怎么吃
进口杏干
怎样制作杏干
吊杏干
杏干上火吗
杏干的制作方法
孕妇 杏干
杏干的热量
孕妇能吃杏干吗
梦见杏干
杏月
杏林
杏林指什么
杏林春暖
杏林指
杏林春满
冲田杏林梨
冲田杏林
龙翔杏林
杏林芳华
欲满杏林
杏林纪事
杏林金方
杏林医女
杏林春
杏林金方膏
杏林学院
杏林学堂
杏林子
衫原杏林
杏林高手
杏林医院
杏林二手房
杏林的含义
杏林吧
杏林的意思
杏林小区
杏林大桥