日期:2014-05-16  浏览次数:20495 次

JDBC--自定义JDBC框架+Apache—DBUtils框架+事务管理+操作多表

本文查阅方法:
??? 1、查阅目录 —— 查阅本文目录,确定想要查阅的目录标题
??? 2、快捷“查找” —— 在当前浏览器页面,按键 “Ctrl+F” 按键组合,开启浏览器的查找功能,
???????????? 在查找搜索框中 输入需要查阅的 目录标题,便可以直接到达 标题内容 的位置。
??? 3、学习小结 —— 文中的学习小结内容,是笔者在学习之后总结出的,开发时可直接参考其进行应用开发的内容, 进一步加快了本文的查阅 速度。(水平有限,仅供参考。)
?

?


?

?

?

本文目录

?

??????学习小结

?

??????1、自定义JDBC框架?——数据库元数据:DataBaseMetaData

?

??????2、自定义JDBC框架?——数据库元数据:DataBaseMetaData

?

??????3、自定义JDBC框架?——结果集元数据:?ResultSetMetaData

?

??????4、使用元数据简化JDBC代码

?

????????????(1)?万能更新

?

????????????(2)?万能查询

?

??????5、Apache—DBUtils框架简介

?

??????6、DbUtils类?介绍

?

??????7、QueryRunner类?介绍

?

??????8、QueryRunner类的主要方法

?

??????9、ResultSetHandler接口?介绍

?

??????10、ResultSetHandler?接口的实现类

?

??????11、JDBC应用的事务管理(ThreadLocal类)?

?

??????12、JDBC应用的事务管理——采用跨层跨层传递方法参数

?

??????13、JDBC应用的事务管理——?ThreadLocal?绑定连接

?

??????14、使用JDBC操作多个表

?

??????15、使用JDBC操作多个表——?“一对多”关系?

?

??????16、使用JDBC操作多个表——?多对多关系

?

??????17、数据库端——表关系间的级联操作

?

?

?

相关学习

?

JDBC?学习笔记(一)——?基础知识?+?分页技术

??????链接地址:http://even2012.iteye.com/blog/1886946

?

JDBC?学习笔记(二)——?大数据+存储过程+批处理+事务

??????链接地址:http://even2012.iteye.com/blog/1886950

?

JDBC?学习笔记(三)——?数据源(数据库连接池):DBCP数据源、C3P0?数据源以及自定义数据源技术

??????链接地址:http://even2012.iteye.com/blog/1886953

?

JDBC?学习笔记(四)——?自定义JDBC框架+Apache—DBUtils框架+事务管理+操作多表??

??????链接地址:http://even2012.iteye.com/blog/1886956

?


?

?学习小结

?

?

?

?

?

?

?

?

?


?

?

?

1、自定义JDBC框架?——数据库元数据:DataBaseMetaData

?

元数据:数据库、表、列的定义信息。

?

DataBaseMetaData?? connection.getDatabaseMetaData()????

?

获得代表DataBaseMetaData 对象元数据的DataBaseMetaData 对象。

?

????DataBaseMetaData对象中的方法:

?

????????(1) getURL():返回一个String类对象,代表数据库的URL。

?

????????(2) getUserName():返回连接当前数据库管理系统的用户名。

?

????????(3) getDatabaseProductName():返回数据库的产品名称。

?

????????(4) getDatabaseProductVersion():返回数据库的版本号。

?

????????(5) getDriverName():返回驱动驱动程序的名称。

?

????????(6) getDriverVersion():返回驱动程序的版本号。

?

????????(7) isReadOnly():返回一个boolean值,指示数据库是否只允许读操作。

?

?

?

Demo样例:?获取数据库的元数据?

?

??public?void?test1()?throws?SQLException{

?

????????Connection?conn?=?JdbcUtils_C3P0.getConnection();

?

????????DatabaseMetaData?meta?=?conn.getMetaData();

?

????????System.out.println(meta.getDatabaseProductName());

?

????????System.out.println(meta.getDatabaseMajorVersion());

?

????????System.out.println(meta.getDatabaseMinorVersion());

?

??}?

?

?

?


?

?

?

2、自定义JDBC框架?——数据库元数据:DataBaseMetaData

?

ParameterMetaData?? PreparedStatement . getParameterMetaData()

?

获得代表PreparedStatement元数据的ParameterMetaData对象。

?

例如:SQL语句 “ Select * from user where name=? And password=?? ” 中的两个“ ?” 问号。

?

ParameterMetaData对象 中的方法:

?

????????(1) getParameterCount()????--获得指定参数的个数

?

????????(2) getParameterType(int param)????--?获得指定参数的sql类型(Mysql数据库不支持该方法,会报异常。)

?

?

?

Demo样例:参数元数据

?

??????public?void?test2()?throws?SQLException{

?

????????????Connection?conn?=?JdbcUtils_C3P0.getConnection();

?

????????????String?sql?=?"insert?into?user(id,name)?values(?,?)";

?