Spring-jdbc-整合

Spring持久层DAO支持:DAO(Data Access Object)

    1、Spring提供了DAO框架,让开发人员无需耦合特定的数据库技术,就可以进行应用程序的开发。

    2、通过DAO接口进行开发,接口的实现通过Spring的注入。

    3、优势:由于以来接口,可以通过依赖注入随时替换DAO接口的实现类,而应用程序完全不用了解与底层数据库的细节。

数据源DataSource

    连接数据库的 方法称为数据源。比如JDBC、连接池、JNDI。

Spring通过依赖注入方式配置数据源

    1、不同的系统,数据源的管理更多是针对底层的行为,这些行为不应该影响业务。

    2、更换数据源只需要修改Bean定义的内容,而不需要修改任何一行代码。

配置数据源DataSource

    示例:oracle数据库数据源

<?xml version="1.0" encoding="UTF-8"?>
<beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <!-- 加载数据库驱动 -->
        <property name="driverClassName">
            <value>oracle.jdbc.driver.OracleDriver</value>
        </property>
        <!-- 数据库url -->
        <property name="url">
            <value>jdbc:oracle:thin:@localhost:1521:orcl</value>
        </property>
        <!-- 数据库用户名 -->
        <property name="username">
            <value>accp</value>
        </property>
        <!-- 数据库密码 -->
        <property name="password">
            <value>accp</value>
        </property>
    </bean>

</beans>

JDBC Template(jdbc模板)

  Spring将jdbc常用的操作封装到JDBC Template模板中,简化了使用jdbc开发的流程

   一 使用JDBC template执行DDL和更新操作

        1:使用JDBCTemplate的execute(“DDL语句”)方法可以执行 DDL语句

        2:使用JDBCTemplate的Update(“Update或者insert语句”)方法执行Update和insert语句

        3、使用占位符“?”进行操作。示例:

          JDBCTemplate.Update(“语句???”,new Object[]{value1,value2,value3,

        4、使用JDBCTemplate进行查询时,一般使用QueryForXXX()方法,XXX表示返回的类型。

          示例:返回单条数据int count=JDBCTemplate.queryForInt();返回数据的总数

             返回多条数据List results=JDBCTemplate.queryForList();返回结果集,以Map的形式存放在List中

        5、batchPreparedStatement可以将集合对象中的值与“?”占位符参数对应,从而完成批量操作

     二 使用JDBC template以对象方式操作数据库

       1、

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。