SSM(Spring的数据库开发)

第四章、Spring的数据库开发

4.1 Spring JDBC

Spring的JDBC模块负责数据库资源管理和错误处理。

4.1.1 Spring JdbcTemplate的解析

针对数据库的操作,Spring框架提供了JdbcTemplate类,该类是Spring框架数据抽象层的基础,其他更高层次的抽象类却是构建于JdbcTemplate类之上。可以说,JdbcTemplate类是Spring JDBC的核心类。

继承自抽象类JdbcAccess,同时实现了JdbcOperations接口。

JdbcAccessor提供的属性

  • Datasource: 其主要功能是获取数据库连接,具体实现时还可以引入对数据库连接的 缓冲池和分布式事务的支持,它可以作为访问数据库资源的标准接口。
  • SQLExceptionTranslator: org.springframework.jdbc.support.SQLExceptionTranslator接口对SQLException进行转译工作。通过必要的设置或者获取SQLExceptionTranslator中的方法,可以使JdbcTemplate在需要处理SQLException时,委托SQLExceptionTranslator的实现类来完成相关的转译工作。
  • JdbcOperations接口定义了在JdbcTemplate类中可以使用的操作集合,包括添加、修改、查询、删除等。

4.1.2 Spring JDBC的配置

Spring JDBC模块主要由四个包组成,分别是Core(核心包)、dataSource(数据源包)、object(对象包)、support(支持包)

包名 说明
core 包含了JDBC的核心功能包括(JdbcTemplate SimpleJdbcInsert SimpleJdbcCall NamedParameterJdbcTemplate)
datasource 访问数据源的工具类
object 以面向对象的方式访问数据库,允许执行查询并将返回结果作为业务对象,可以在数据表的列和业务对象的属性之间映射查询结果
support 包含了core和object包的支持类,例如异常转换功能的SQLEXception类

Spring JdbcTemplate的常用方法

4.2.1 execute(String sql)

能够完成执行SQL语句的功能

4.2.2 update()

update()方法完成插入、更新和删除数据的操作

int update(String sql) 直接传入SQL,返回受影响的行数
int update(PreparedStatementCreator psc) 执行从PreparedStatementSetter返回的语句
int update(String sql,PreparedStatementSetter pss) 通过PreparedStatementSetter设置SQL语句中的参数
int update(String sql,Object… args) 该方法使用Object…设置SQL语句中的参数,要求参数不能为NULL,并返回受影响的行数

4.2.3query()

处理对各数据表的查询操作

方法 说明
List query(String sql,RowMapper romMapper) 执行String类型参数提供的SQL语句,并通过RowMapper返回一个List类型的结果
List query(String sql,PreparedStatementSetter pss,RowMapper rowMapper) SQL创建预处理对象,pss设置参数,rowMapper返回结果
List query(String sql,Object[] args,RowMapper rowMappe) 同上
queryForObject(String sql,RowMapper rowMapper,Object… args) 返回单行结果
queryForList(String sql,Object[] args,class elementType) 返回多行结果,必须是返回列表,指定元素类型
上一篇:史上最强Dubbo面试28题答案详解


下一篇:hibernate中sql查询 字段如何与属性映射