jdbcTemplate的事务处理问题 本帖最后由 on_my_way20xx 于 2010-04-14 10:00:54 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 spring都是自动提交事务的哦 public boolean addMeasMent(Measurement meas) throws Exception { boolean flag = true; try{ String add = "insert into t_measurement values(?,?,?,?,?)"; jdbcTemplate.update(add, new Object[]{meas.getProd_id(), meas.getMeas_measuring_name(), meas.getMeas_standard(), meas.getMeas_update_user(), meas.getMeas_update_DT()}); }catch(Exception ex){ flag = false; ex.printStackTrace(); } return flag; } 绝对不是,手动commit的话,一条都插入不了. 引用 2 楼 xinlan1022 的回复:spring都是自动提交事务的哦Java codepublic boolean addMeasMent(Measurement meas) throws Exception { boolean flag = true;try{String add = "insert into t_mea……绝对不是,如果不手动commit的话,一条都插入不了. 问楼主一下,applicationContext.xml文件用了吗?用Spring的好处就是可以自己不去管理事务,否则我干脆直接用Hibernate了。你这样显示的调用事务打开关闭的,那还用Spring就显得多余了。Spring的事务一般配置到业务方法级别的,因为业务方法可能要调用多个DAO去处理一个业务,当其中有一个失败那么整个事务回滚。说了一堆就是你可以在配置文件里配置事务,而不是自己去显示的写有关事务的代码。 谢谢兄弟,我一直都没关注在applicationContext.xml中,配置事务... 我去查查资料.只是,我的这个问题是不是就是由于我显式的调用事务导致的呢? 你有用spring 那你先去试试用spring配置事物先做下 看下效果! 确实如2楼和6楼兄弟所说,采用TransactionTemplate的execute(TransactionCallback arg)方式或者用声明式事务处理 都可以解决. Transaction 建议在Service层配置,用Spring2.5X的,可通过在方法前加@Transactional注释解决,不建议在DAO层配置,另外注意,你在代码内Catch Exception 的话,假如try 里面的代码出错会导致事务的rollback 失败!建议你throws Exception! 刚学SSH问个简单的问题。 JAVA项目中常用类打包如何混淆啊???? 关于权限控制 麻烦解释下digester解析代码 如何用EJB3.0实现文件上传与下载 可视化jsf 实现文件下载 hibernate 3.1 sesssion.load方法问题 求如何Struts2整合Velocity1.5 我的问题 java面试题求解 谢谢 lucene compass 关联对象问题 jdbcoracle11g.jar和Oracle 11g 11.1.0.7.0 JDBC_ojdbc6.jar
boolean flag = true;
try{
String add = "insert into t_measurement values(?,?,?,?,?)";
jdbcTemplate.update(add, new Object[]{meas.getProd_id(),
meas.getMeas_measuring_name(),
meas.getMeas_standard(),
meas.getMeas_update_user(),
meas.getMeas_update_DT()});
}catch(Exception ex){
flag = false;
ex.printStackTrace();
}
return flag;
}
绝对不是,手动commit的话,一条都插入不了.
spring都是自动提交事务的哦Java code
public boolean addMeasMent(Measurement meas) throws Exception {
boolean flag = true;
try{
String add = "insert into t_mea……绝对不是,如果不手动commit的话,一条都插入不了.
或者用声明式事务处理 都可以解决.