当前位置:首页 > 日记 > 正文

Spring jdbc中数据库操作对象化模型的实例详解

Spring jdbc中数据库操作对象化模型的实例详解

Spring jdbc中数据库操作对象化模型的实例详解

Spring Jdbc数据库操作对象化

 使用面向对象方式表示关系数据库的操作,实现一个线程安全可复用的对象模型,其顶级父类接口RdbmsOperation.

 SqlOperation继承该接口,实现数据库的select, update, call等操作。 

1.查询接口:SqlQuery

1) GenericSqlQuery, UpdatableSqlQuery, MappingSqlQueryWithParameter 

2) SqlUpdate, BatchSqlUpdate

3) SqlCall

 1) 将数据库操作select封装为对象,查询操作的基类是SqlQuery,所有查询都可以使用该类表示,Spring JDBC还提供了一些更容易使用的MappingSqlQueryWithParameters和MappingSqlQuery用于将结果集映射为Java对象,查询对象类还提供了两个扩展UpdatableSqlQuery和SqlFunction;

 2) 即增删改操作,将数据库操作insert 、update、delete封装为对象,增删改基类是SqlUpdate,当然还提供了BatchSqlUpdate用于批处理;

 3) 存储过程及函数调用封装为对象,基类是SqlCall类,提供了StoredProcedure实现。

数据库连接

JDBC:

 spring jdbc通过DataSource控制数据库连接即通过其实现子类获取。

 1) DriverManagerDataSource: 简单封装DriverManager.getConnection()

 2) SingleConnectionDataSource: 内部封装一个链接,不会关闭不能再多线程使用,用于测试

 3) LazyConnectionDataSourceProxy: 封装DataSource,用于延迟获取数据库连接,只有在真正创建Statement等时才获取连接,因此再说实际项目中最后使用该代理包装原始DataSource从而使得只有在真正需要连接时才去获取。 

Vendor:

 提供的DataSource实现主要有C3P0/Proxool/DBCP/ 等,这些实现都具有数据库连接池能力。 

DataSourceUtils: Spring JDBC抽象框架内部都是通过它的getConnection(DataSource dataSource)方法获取数据库连接,releaseConnection(Connection con, DataSource dataSource) 用于释放数据库连接,DataSourceUtils用于支持Spring管理事务,只有使用DataSourceUtils获取的连接才具有Spring管理事务。

Spring JDBC通过DaoSupport抽象类提供一致的数据库访问。

 1) JdbcDaoSupport: 支持一致的JdbcTemplate访问

 2) NamedParameterJdbcDaoSupport: JdbcDaoSupport子类,提供了NamedParameterJdbcTemplate的访问

 3) SimpleJdbcDaoSupport: JdbcDaoSupport子类,提供了SimpleJdbcTemplate访问 

由于JdbcTemplate、NamedParameterJdbcTemplate、SimpleJdbcTemplate类使用DataSourceUtils获取及释放连接,而且连接是与线程绑定的,因此这些JDBC模板类是线程安全的,即JdbcTemplate对象可以在多线程中重用。

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

最通俗易懂的javascript变量提升详

最通俗易懂的javascript变量提升详

变量提升,易懂,通俗,详解,电脑软件,如下所示:a = 'ghostwu';var a;console.log( a );在我没有讲什么是变量提升,以及变量提升的规则之前, 或者你没有学习过变量提升,如果按照现有的javascript理解, 对于上述的例子,你可能会认为第3行代码的输出…

Dreamweaver如何向网页添加音乐

Dreamweaver如何向网页添加音乐

音乐,网页,电脑软件,Dreamweaver,当我们在做网页时,我们会添加你喜欢的音乐,并为你带来今天添加音乐的方式。 软件名称:Adobe Dreamweaver CC 20143264位中文破解安装版(附破解教程)软件大小:320mb更新时间:2014-06-25 1。首先,打开DW软件并构建…

用PHP解决约瑟夫环算法实例

用PHP解决约瑟夫环算法实例

算法,约瑟夫,实例,电脑软件,PHP,本文介绍了用PHP堆栈解决约瑟夫环问题的算法,供大家参考: 约瑟夫环问题:39个犹太人,约瑟夫斯和他的朋友们藏在山洞里,和39个犹太人决定死而不是被敌人抓住。我决定自杀,41人排成一圈,从第一个人开始数,报告数量的每…

Node.js使用orm2进行update操作时

Node.js使用orm2进行update操作时

修改,字段,操作,解决方法,电脑软件,前言最近在工作中遇到一个问题,在使用Orm2进行model修改时,发现当对关联字段进行update操作时,执行了2次SQL,第一次把值改为了我们期望的值,第二次又会把值改回成原来的值。经过调查,当autoFetch开启时,会自动取…

WPS文字中怎么制作联合发文文件头

WPS文字中怎么制作联合发文文件头

文件,文字,方法,发文,电脑软件,  WPS文字中怎么制作联合发文文件头?在WPS文字中,表格工具的作用不仅仅是用来制作表格的。活用表格,有时会收到意想不到的效果,完成一些特殊的任务。下面小编就教你WPS文字中制作联合发文文件头的方法。WPS文…

word页面设置为横向页面的方法

word页面设置为横向页面的方法

方法,横向,页面,设置为,电脑软件,word怎么设置为横向页面呢?在编辑word文档时,有时我们需要的横向长度不够长,这时候就需要把word的横向页面改为纵向页面,以下就是小编给大家分享的word页面设置为横向页面的方法。方法步骤如下:1.文件--页面设…

PHP使用PDO访问oracle数据库的步骤

PHP使用PDO访问oracle数据库的步骤

步骤,数据库,详解,电脑软件,PHP,前言PDO 从一开始就吸取了现有数据库扩展成功和失败的经验教训。因为 PDO 的代码是全新的,所以我们有机会重新开始设计性能,以利用 PHP 5 的最新特性。PDO 旨在将常见的数据库功能作为基础提供,同时提供对于 RD…

PHP基于回溯算法解决n皇后问题的方

PHP基于回溯算法解决n皇后问题的方

方法,回溯算法,示例,皇后,电脑软件,本文实例讲述了PHP基于回溯算法解决n皇后问题的方法。分享给大家供大家参考,具体如下:这里对于n皇后问题就不做太多的介绍,相关的介绍与算法分析可参考前面一篇C++基于回溯法解决八皇后问题。回溯法的基本做…

WPS演示2013如何对进行淡化处理

WPS演示2013如何对进行淡化处理

演示,图片,电脑软件,WPS,  有时候插入图片之后,觉得颜色太鲜艳了,想要淡化色彩,其实并不难。以下是小编为您带来的关于WPS演示2013对图片进行淡化处理,希望对您有所帮助。WPS演示2013对图片进行淡化处理①启动WPS演示,插入图片之后,在图片上插…

ps怎么设计一个网络感十足的社交行

ps怎么设计一个网络感十足的社交行

网络,行业,社交,电脑软件,ps,ps中想要给网页设计一个科技感的banner,该怎么设计呢?下面我们就来看看详细的教程。软件名称:Adobe Photoshop 8.0 中文完整绿色破解版软件大小:150.1MB更新时间:2015-11-041、新建文件,创建画布2、添加一个科技感的…

如何配置IIS运行 ASPX

如何配置IIS运行 ASPX

运行,配置,电脑软件,IIS,ASPX,如何配置IIS运行 ASPX最近在做 .ASPX 搞了好一阵子,才弄懂这个东西,和大家分享…… 欢迎讨论一、先注册asp.net组件: (asp.NET 组件即:.Net Framework )开始->运行->cmd->执行命令:C:\windows\Microsof…

web 开发之创建本地文件夹的实现方

web 开发之创建本地文件夹的实现方

方法,电脑软件,web,web 开发之创建本地文件夹的实现方法 filemanage_util.fullPath 就是创建文件的路径这是跨平台的创建文件夹,不像Android那样还要通过 Environment.getExternalStorageDirectory() 的原生代码来创建实现代码:document.addE…