SpringDao

模板化的访问方式

在直接使用具体的持久化技术时,我们大多需要处理整个流程。Spring为支持的持久化技术分别提供了模板访问的方式,降低了使用各种持久化技术的难度,可以大幅提高开发效率。

使用模板和回调机制

Spring为各种支持的持久化技术都提供了简化操作的模板和回调,在回调中编写具体的数据操作逻辑,使用模板执行数据操作,在Spring中,这是典型的数据操作模式。

JDBCTemplate

HibernateTemplate

SqlMapClientTemplate

如果我们直接使用模板类,一般都需要在DAO中定义一个模板对象并提供数据资源,Spring为每一个持久化技术都提供了支持类,支持类中已经为我们完成这样的功能。这样,我们只需要扩展这些支持类就可以直接编写实际的数据访问逻辑,没有丝毫阻隔。

JdbcDaoSupport

HibernateDaoSupport

SqlMapClientDaoSupport

数据源,不管通过何种持久化技术,都必须拥有数据连接,在Spring中,数据连接是通过数据源获得的,可以直接在Spring容器中配置数据源。

jdbcTemplate

spring提供用于操作JDBC工具类,类似:DBUtils

依赖连接池DataSource(数据源)

环境:

com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar

dbcp

commons pool

spring-jdbc-3.2.0.RELEASE.jar

spring-tx-3.2.0.RELEASE.jar:

A.在程序中直接使用

B.在XML中配置DBCP


"dataSourceId"class="org.apache.commons.dbcp.BasicDataSource">

"driverClassName"value="com.mysql.jdbc.Driver">

"url"value="jdbc:mysql://localhost:3306/hibernate3">

"username"value="root">

"password"value="root">


"jdbcTemplateId"class="org.springframework.jdbc.core.JdbcTemplate">

"dataSource"ref="dataSourceId">


"userDaoId"class="com.dream.dao.UserDao">

"jdbcTemplate"ref="jdbcTemplateId">

Dao层代码的编写


配置C3P0


JdbcDaoSupport

编写dao

public class UserDao extends  JdbcDaoSupport{

public  void update(User user){

String  sql = "update user set username=?,password=? where id =?";

Object[]  args = {user.getUsername(),user.getPassword(),user.getId()};

this.getJdbcTemplate().update(sql,  args);

}

public  List findAll() {

return  this.getJdbcTemplate().query("select * from user",  ParameterizedBeanPropertyRowMapper.newInstance(User.class));

}

}

配置更改

Properties

jdbc.driverClass=com.mysql.jdbc.Driver

jdbc.jdbcUrl=jdbc:mysql://localhost:3306/hibernate3

jdbc.user=root

jdbc.password=root


"classpath:"前缀表示src下

在配置文件之后通过${key}获得内容

-->

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,954评论 6 342
  • 一. Java基础部分.................................................
    wy_sure阅读 3,835评论 0 11
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,765评论 18 399
  • 半黄风知意 凉拌云含抽去 乱扰犹雨 思絮不齐 江水流溪 错综复杂 你却不知归处 忘了归处 东风护阳升起 炫丽如旧 ...
    墙角的梅花阅读 148评论 0 6