2014-07-16 Java Web的学习(13)-----DBUtil&基于DBUtil的事务处理(动态代理AOP)
2015-04-10 13:16
459 查看
一、数据库元数据信息
二、编写自己的JDBC框架
四、BDUtil在实际开发中事务的控制(已转账为案例)
具体来说指的是数据库,表等定义信息(DDL信息). 1.数据库的元数据: DatabaseMetaData metaData = Connection.getMetaData(); 这个对象表示该Connection对象所连接的数据库的元数据,元数据包括关于数据库的表、受支持的SQL 语法、存储过程、此连接功能等等的信息.至于对象方法,就自己查看JDK API.其中里面大部分都是Get方法. 2. ParameterMetaData metaData=stmt.getParameterMetaData(); 一个 ParameterMetaData对象,它包含有关此 PreparedStatement对象的每个参数标记的编号、类型和属性的信息. 3. ResultSetMetaData rsmd = rs.getMetaData(); 可用于获取关于 ResultSet 对象中列的类型和属性信息的对象 |
了解DBUtil框架,主要熟悉它的不同处理器Handle.具体就不介绍啦,自己查看文档吧. ArrayHandler ArrayListHandler *BeanHandler *BeanListHandler ColumnListHandler KeyedHandler MapHandler MapListHandler * ScalarHandler QueryRunner qr = new QueryRunner(数据源); QueryRunner qr = new QueryRunner(); //与事务控制相关. |
1.Dao层对于事物的控制(一般不使用,只负责增删改查,不关注业务逻辑) /** * 在DButils中使用控制事务,使用同一Connection对象连接. */ private QueryRunner qr = new QueryRunner(); @Override public void transfer(String sourceName, String destName, float money) { Connection conn = null ; try { conn = DBCPUtil.[i]getConnection(); conn.setAutoCommit( false ); qr .update( conn, "update account set money=money-? where name=?" , new Object[] { money, sourceName }); int a = 1/0; //抛出异常 qr .update( conn, "update account set money=money+? where name=?" , new Object[] { money, destName }); conn.commit(); } catch (Exception e) { throw new RuntimeException(e); } finally { if (conn!= null ){ try { /*放回数据库连接池*/ conn.close(); } catch (SQLException e) { throw new RuntimeException(e); } conn= null ; } } } |
4.通过动态代理更加细粒度的控制事务
|
相关文章推荐
- 2014-07-15 Java Web的学习(12)-----JDBC数据源的详解以&包装模式&动态代理
- 【Java基础】动态代理实现AOP之控制事务
- Spring AOP 学习之java JDK动态代理
- Java Spring中的 aop(动态代理&&cglib代理)
- Spring学习(13)--- 基于Java类的配置Bean 之 @Configuration & @Bean注解
- java动态代理处理事务
- Java动态代理学习【Spring AOP基础之一】
- 【JavaWeb-14】代理Proxy、动态代理、AOP编程思想、注解、元注解、类加载器
- Java的静态代理、动态代理,CGLib的动态代理,使用动态代理基于AOP的AspectJ框架—深入探究
- [置顶] Java的静态代理、动态代理,CGLib的动态代理,使用动态代理基于AOP的AspectJ框架—深入探究
- java学习之路----静态代理---动态代理-----AOP的前奏(AOP也是动态代理)
- AOP学习心得&jdk动态代理与cglib比较
- Spring 4 学习笔记4:Java动态代理(Spring AOP原理)
- [笔记]架构探险-从零开始写JavaWeb框架-2.2. 之使框架具有aop特性-干货,让框架支持事务处理
- java学习笔记13--反射机制与动态代理
- spring aop学习7:Cglib动态代理(基于继承代理)
- Java代理学习笔记(静态代理&动态代理)
- java基础知识学习之代理深入学习(用动态代理实现AOP,FacotryBean)
- java事务学习笔记(六)--使用动态代理(Dynamic Proxy)完成事务
- 【javaweb:Proxy&Filter】采用动态代理和过滤器解决request的全局乱码问题