开发者社区> 问答> 正文

怎么在已有的java 数据库访问中加入spring的事务管理

public class AnnoDaoImpl extends BaseDaoImpl
    implements IAnnoDao{
 
    /* (non-Javadoc)
     * <a href="http://my.oschina.net/u/244147" class="referer" target="_blank">@see</a>  com.njmsp.dao.IAnnoDao#getAnnoList()
     */
    public ArrayList<Anno> getAnnoList(int num) {
        // TODO Auto-generated method stub
        c=ConnectionPool.getConnection();
        ArrayList<Anno> annos=new ArrayList<Anno>();
         
        try {
            String sql="select  annoId,adminId,content,createdTime,topic,source from anno limit 0,"+num;
            ps=c.prepareStatement(sql);
            rs=ps.executeQuery();
            while(rs.next()){
                //.....
            }
            this.close();
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }
        return annos;
    }
这是原来编写的访问某个数据库的代码

请问怎么加入spring的事务管理

<tx:advice id="txAdvice" transaction-manager="txManager">
        <tx:attributes>
            <tx:method name="get*" read-only="true" />
            <tx:method name="is*" read-only="true" />
            <tx:method name="find*" read-only="true" />
            <tx:method name="add*" read-only="false" />
            <tx:method name="update*" read-only="false" />
            <tx:method name="save*" read-only="false" />
            <tx:method name="deleteX" read-only="false" propagation="REQUIRED"
                rollback-for="Exception" />
        </tx:attributes>
    </tx:advice>
 
    <aop:config>
        <aop:pointcut expression="execution(* com.njmsp.dao..*.*(..))"
            id="dbOps" />
        <aop:advisor advice-ref="txAdvice" pointcut-ref="dbOps" />
    </aop:config>

展开
收起
a123456678 2016-03-13 14:40:50 2393 0
1 条回答
写回答
取消 提交回答
  • 首先connection肯定是要关闭的,不过在连接池中 close并不代表真关,而是回收

    spring捕获什么异常也可以通过配置来制定,不过默认确实是RuntimeException

    评论(0)| 引用此答案| 举报 (2012-07-03 14:40)

    2019-07-17 19:02:35
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载