码迷,mamicode.com
首页 > 数据库 > 详细

Spring 对数据库的支持

时间:2015-06-27 18:04:32      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

DAO

  DAO是用于访问数据的对象,大多数时候,我们将数据保存在数据库中,但这不是唯一选择。

  用户也可以将数据保存在数据文件或者LDAP中

  DAO屏蔽了数据操作的具体细节

 

Spring本质上希望能够以统一的方式整合底层持久化技术,以统一的方式进行调用及事务管理,避免让具体的实现侵入业务代码中。

由于每个持久化实现技术都有各自的异常体系,所以Spring提供了统一的异常体系

 

统一数据访问模板

Spring为不同持久化技术提供了对应的模板类

 技术分享

如果直接使用模板类,一般需要在DAO中定义一个模板对象,并提供数据资源;或者在Spring配置文件中为模板类注入数据源,这样DAO中的模板对象就可以直接使用了。但是创建一个模板对象还是免不了的

举例:

    <!--注解注入-->
    <context:annotation-config/>
    <context:property-placeholder location="classpath:jdbc.properties"/>
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="${driverClassName}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${username}"/>
        <property name="password" value="${password}"/>
    </bean>
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"/>
    </bean>
    //Spring的JDBC模板
    @Resource
    private JdbcTemplate jdbcTemplate;
    /**
     * 获取用户数目
     *
     * @param userName 用户名
     * @param password 密码
     * @return 用户数
     */
    @Override
    public int getMatchCount(String userName, String password) {
        String sqlStr = " SELECT count(1) FROM t_user " +
                " WHERE user_name = ? AND password = ? ";
        int i = jdbcTemplate.queryForInt(sqlStr,new Object[]{userName,password}, new int[]{Types.VARCHAR,Types.VARCHAR});
        return i;
    }

 

 

Spring为每一个持久化技术提供了支持类,其中已经为我们完成了这样的功能,也就是说只要继承这些支持类,通过调用其中的方法就能够直接对数据库进行操作

技术分享

Spring 对数据库的支持

标签:

原文地址:http://www.cnblogs.com/sherrykid/p/4604361.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!