spring整合JDBC

Posted zxfei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring整合JDBC相关的知识,希望对你有一定的参考价值。

spring整合JDBC

spring中提供了一个可以操作数据库的对象,对象封装了jdbc技术。这个对象的名字就叫JDBCTemplate,JDBC模板对象。这个对象和DBUtils中的QueryRunner对象非常相似。

准备工作

  • 导包
    • 4+2(4个核心包+2个日志包)
    • spring-test、spring-aop(新版本需要)、junit4类库
    • c3p0连接池、JDBC驱动包
    • spring-jdbc、spring-tx(需要spring事务包的支持)
  • 准备数据库测试
  • 解决数据库中文乱码
    (jdbc:mysql:///springmvc?characterEncoding=utf-8)

spring整合JDBC中application.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd ">

    <!--1将连接池交给spring容器管理  -->
    <bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="com.mysql.jdbc.Driver"></property>
        <property name="jdbcUrl" value="jdbc:mysql:///springmvc?characterEncoding=utf-8"></property>
        <property name="user" value="root"></property>
        <property name="password" value="123"></property>
    </bean>
    
    <!--2将JDBCTemplate放入spring容器  -->
    <bean name="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"></property>
    </bean>
    
    <!--3将UserDao放入spring容器  -->
    <bean name="userDao" class="com.fei.a_jdbctemplate.UserDaoImpl">
        <property name="jt" ref="jdbcTemplate"></property>
    </bean>
    
</beans> 

获得userDao对象的代码

// 1创建容器对象
    ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
    // 2向容器要对象
    UserDao userDao = (UserDao) ac.getBean("userDao");

spring读取外部数据库连接配置文件(db.properties)

jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql:///springmvc?characterEncoding=utf-8
jdbc.user=root
jdbc.password=123
<!-- 告诉spring让他去读取db.properties配置文件 -->
    <context:property-placeholder location="classpath:db.properties"/>
    <!--1将连接池交给spring容器管理  -->
    <bean name="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="$jdbc.driverClass"></property>
        <property name="jdbcUrl" value="$jdbc.jdbcUrl"></property>
        <property name="user" value="$jdbc.user"></property>
        <property name="password" value="$jdbc.password"></property>
    </bean>

以上是关于spring整合JDBC的主要内容,如果未能解决你的问题,请参考以下文章

Spring整合JDBC以及AOP管理事务

Spring整合JDBC以及AOP管理事务

spring整合JDBC

PreparedStatementCallback; JDBC Spring 中的错误 SQL 语法

JDBC Spring中的Bad Sql Grammar异常

jdbc spring 安全性,apache commons dbcp