在这里插入代码片
AffairOperating源码
package com.itcast.userDemo.utils.db;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.support.DefaultTransactionDefinition;
import javax.sql.DataSource;
public class AffairOperating {
private JdbcTemplate template;
private DataSource dataSource;
public AffairOperating() {
dataSource = new JDBCUtils().getDataSource();
template=new JdbcTemplate(dataSource);
}
private DataSourceTransactionManager getDataSourceTransactionManager(){
return new DataSourceTransactionManager(this.dataSource);
}
private TransactionStatus beginTransaction(DataSourceTransactionManager manager) {
DefaultTransactionDefinition definition=new DefaultTransactionDefinition();
definition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
return manager.getTransaction(definition);
}
public boolean update(String sql,Object... args){
boolean state=true;
DataSourceTransactionManager manager = getDataSourceTransactionManager();
TransactionStatus transactionStatus = beginTransaction(manager);
try {
this.template.update(sql,args);
manager.commit(transactionStatus);
}catch (Exception e) {
e.printStackTrace();
state=false;
manager.rollback(transactionStatus);
}
return state;
}
public boolean update(String sql){
boolean state=true;
DataSourceTransactionManager manager = getDataSourceTransactionManager();
TransactionStatus transactionStatus = beginTransaction(manager);
try {
this.template.update(sql);
manager.commit(transactionStatus);
}catch (Exception e) {
e.printStackTrace();
state=false;
manager.rollback(transactionStatus);
}
return state;
}
}
在这里插入代
List<User> users = findAll();
AffairOperating operating = new AffairOperating();
operating.update("TRUNCATE TABLE user");
for (User user : users) {
String sql="insert into user (name,age,sex,address,birthday,qq,email) values(?,?,?,?,?,?,?)";
operating.update(sql,user.getName(),
user.getAge(),
user.getSex(),
user.getAddress(),
user.getBirthday(),
user.getQq(),
user.getEmail()
);
}
码片