JDBCTemplate

1、使用JDBCTemplate的必要性

  一、Spring提供的一个操做数据库的技术JdbcTemplate,是对Jdbc的封装。语法风格很是接近DBUtils。java

    JdbcTemplate能够直接操做数据库,加快效率,并且学这个JdbcTemplate也是为声明式事务作准备,毕竟要对数据库中的数据进行操纵!mysql

    JdbcTemplate中并无提供一级缓存,以及类与类之间的关联关系!就像是spring提供的一个DBUtils。spring

    Spring对数据库的操做使用JdbcTemplate来封装JDBC,结合Spring的注入特性能够很方便的实现对数据库的访问操做。使用JdbcTemplate能够像JDBC同样来编写数据库的操做代码

  2.为啥要使用Jdbc_template进行开发呢?sql

    Spring对数据库的操做在jdbc上面作了深层次的封装,使用spring的注入功能,能够把DataSource注册到JdbcTemplate之中。数据库

    Spring提供的JdbcTemplate对jdbc作了封装,大大简化了数据库的操做。找到Spring JdbcTemplate源码,能够看到以下方法:express

    Connection con = DataSourceUtils.getConnection(getDataSource());缓存

    若是直接使用JDBC的话,须要咱们加载数据库驱动、建立链接、释放链接、异常处理等一系列的动做;繁琐且代码看起来不直观。url

    此外,Spring提供的JdbcTempate能直接数据对象映射成实体类,再也不须要获取ResultSet去获取值/赋值等操做,提升开发效率;spa

    以下:return (User) jdbcTemplate.queryForObject("select * from tb_test1 where id = 100", User.class)orm

2、配置环境

  ①导入jar包

    [1]IOC容器须要的jar包

      commons-logging-1.1.3.jar
      spring-aop-4.0.0.RELEASE.jar //注解会使用到的包
      spring-beans-4.0.0.RELEASE.jar
      spring-context-4.0.0.RELEASE.jar
      spring-core-4.0.0.RELEASE.jar
      spring-expression-4.0.0.RELEASE.jar

    [2]MySQL驱动、C3P0jar包

      c3p0-0.9.1.2.jar
      mysql-connector-java-5.1.37-bin.jar

    [3]JdbcTemplate须要的jar包

      spring-jdbc-4.0.0.RELEASE.jar
      spring-orm-4.0.0.RELEASE.jar
      spring-tx-4.0.0.RELEASE.jar

  ②在IOC容器中配置数据源

    <!-- 加载properties文件中 信息 -->

      <context:property-placeholder location="classpath:jdbc.properties"/>

    <!-- 配置数据源 -->

      <bean id="comboPooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="user" value="${jdbc.user}"></property>
        <property name="password" value="${jdbc.passowrd}"></property>
        <property name="jdbcUrl" value="${jdbc.url}"></property>
        <property name="driverClass" value="${jdbc.driver}"></property>
      </bean>

  其中jdbc.properties文件内容:

      jdbc.user=root
      jdbc.passowrd=123456
      jdbc.url=jdbc:mysql://localhost:3306/test
      jdbc.driver=com.mysql.jdbc.Driver

  ③在IOC容器中配置JdbcTemplate对象的bean,并将数据源对象装配到JdbcTemplate对象中.

    参照文档:实验_JDBCTemplate.txt逐一进行试验!

    固然为了进行试验,咱们首先须要导入实验 JDBCTemplate.sql语句,而后才能试验!

    将数据库链接信息改成:jdbc.url=jdbc:mysql://localhost:3306/jdbc_template

    <!-- 配置JdbcTemplate对应的bean, 并装配dataSource数据源属性-->

    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
      <property name="dataSource" ref="comboPooledDataSource"></property>
    </bean>

  ④JdbcTemplate对象的使用

    在类中使用数据库链接时,只须要向类中添加Template类型的属性,并配置注解:自动注入

    就能够在该类中使用template操做数据库,经过template.XXX()方法

    使用完成后不须要关闭数据库链接,Jdbc Template会自动将链接放入数据库链接池

相关文章
相关标签/搜索