Spring JDBC 如何获得和生成主键+Spring JDBC对行集的支持
2012-08-20 22:14
686 查看
KeyHolder及GeneratedKeyHolder实现者。
Statement暴露以下方法可以访问到主键:ResultSet getGeneratedKeys() throws SQLException;
为了简化该方法的使用,轻松获得RDBMS生成的主键,Spring内置了KeyHolder接口及GeneratedKeyHolder实现者。
下面的类的内置方法中都使用到了KeyHolder,可以使用他来访问主键。
JdbcTemplate: int update(PreparedStatementCreator psc,KeyHolder generatedKeyHolder) throws DateAccessException;
NamedParameterJdbcTemplate的两个update方法
SimpleJdbcInsert辅助类。
SqlUpdate辅助类。
等。
DataFieldMaxValueIncrementer继承链。
能够返回全局唯一、递增的取值,这种特性是企业应用的常见需求,考虑到RDBMS的不同情况,Spring提供了DataFieldMaxValueIncrementer接口,这些方法返回唯一的、递增的、不同类型的取值。
各个数据库底层都以此类为接口,来实现具体的业务逻辑。
比如:Oracle:OracleSequenceMaxValueIncrementer实现类采用Oracle数据库支持的序列发生器。
HsqlMaxValueIncrementer采用HSQLDB的表实现,从而模拟了序列发生器的行为等。
类似的还有:
MysqlMaxValueIncrementer
DerbyMaxValueIncrementer
SybaseMaxValueIncrementer
SqlServerMaxValueIncrementer
PostgreSqlSequenceMaxValueIncrementer
DB2SequenceMaxValueIncrementer
H2SequenceMaxValueIncrementer等等
Spring JDBC对行集的支持:
RowSet,用于它能够以JavaBean方式同RDBMS数据进行交互,因此比ResultSet更为灵活。
JdbcTemplate内置queryForRowSet()方法集合。
NamedParameterJdbcTemplate内置的queryForRowSet()方法集合。
都可以很方便的获取到RowSet对象,方便数据库的操作。
Statement暴露以下方法可以访问到主键:ResultSet getGeneratedKeys() throws SQLException;
为了简化该方法的使用,轻松获得RDBMS生成的主键,Spring内置了KeyHolder接口及GeneratedKeyHolder实现者。
下面的类的内置方法中都使用到了KeyHolder,可以使用他来访问主键。
JdbcTemplate: int update(PreparedStatementCreator psc,KeyHolder generatedKeyHolder) throws DateAccessException;
NamedParameterJdbcTemplate的两个update方法
SimpleJdbcInsert辅助类。
SqlUpdate辅助类。
等。
DataFieldMaxValueIncrementer继承链。
能够返回全局唯一、递增的取值,这种特性是企业应用的常见需求,考虑到RDBMS的不同情况,Spring提供了DataFieldMaxValueIncrementer接口,这些方法返回唯一的、递增的、不同类型的取值。
各个数据库底层都以此类为接口,来实现具体的业务逻辑。
比如:Oracle:OracleSequenceMaxValueIncrementer实现类采用Oracle数据库支持的序列发生器。
HsqlMaxValueIncrementer采用HSQLDB的表实现,从而模拟了序列发生器的行为等。
类似的还有:
MysqlMaxValueIncrementer
DerbyMaxValueIncrementer
SybaseMaxValueIncrementer
SqlServerMaxValueIncrementer
PostgreSqlSequenceMaxValueIncrementer
DB2SequenceMaxValueIncrementer
H2SequenceMaxValueIncrementer等等
Spring JDBC对行集的支持:
RowSet,用于它能够以JavaBean方式同RDBMS数据进行交互,因此比ResultSet更为灵活。
JdbcTemplate内置queryForRowSet()方法集合。
NamedParameterJdbcTemplate内置的queryForRowSet()方法集合。
都可以很方便的获取到RowSet对象,方便数据库的操作。
相关文章推荐
- JDBC 如何获得自动生成的主键
- 问题:Spring如何支持JDBC
- (7)Spring对JDBC的支持
- 代码示例显示如何查询服务器以获得服务器支持的族地址及 IP 地址。
- 使用JDBC如何获取数据库自动生成的主键
- 【第七章】 对JDBC的支持 之 7.4 Spring提供的其它帮助 ——跟我学spring3
- 如何在spring中配置使得mybatis3.1.1中支持vendor方式的multi-db(多数据库)
- JDBC获得数据库生成的主键(JDBC、Primary Key)
- 【Spring】Spring系列4之Spring支持JDBC
- [转]:如何让PowerDesigner支持自动生成含SQL Server 2000的表和列注释
- Spring对JDBC的支持
- Java生成流水号 -3 支持数据库查询,Spring注入(二)
- flashdevelop生成的swf如何支持能打开本地文件
- 开源框架spring学习之道:spring对JDBC的支持(一)
- 【第七章】 对JDBC的支持 之 7.4 Spring提供的其它帮助 ——跟我学spring3【私塾在线原创】
- J2EE系列之Spring4学习笔记(九)--Spring对JDBC的支持
- spring DAO模块支持jdbc
- 《Spring 2.0技术手册》 读书笔记七-Spring的DAO框架(2)-JDBC支持
- SpringJDBC的JdbcTemplate在MySQL5.7下不支持子查询的问题
- Spring对jdbc支持