Spring——JdbcTemplate使用案例

Spring_JdbcTemplate
     spring 提供用于操作JDBC工具类,
       依赖 连接池DataSource (数据源:c3p0、dbcp)
       要求:properties +  JdbcDaoSupport  + c3p0/dbcp
一、环境搭建
   1、创建表
        create table user(
         id int primary key auto_increment,
         username varchar(20),
         password varchar(22)
       );
    2、导入jar包
        com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar( c3p0连接池
        com.springsource.org.apache.commons.logging-1.1.1.jar
        commons-dbcp-1.4.jar (dbcp连接池)
        commons-pool-1.5.6.jar (dbcp连接池)
        mysql-connector-java-5.1.7-bin.jar (驱动)
        spring-aop-3.2.0.RELEASE.jar
        spring-aspects-3.2.0.RELEASE.jar
        spring-beans-3.2.0.RELEASE.jar
        spring-context-3.2.0.RELEASE.jar
        spring-core-3.2.0.RELEASE.jar
        spring-expression-3.2.0.RELEASE.jar
        spring-jdbc-3.2.0.RELEASE.jar (spring jdbc开发)
        spring-tx-3.2.0.RELEASE.jar (事务)
   3、javabean
       public class User implements Serializable{
private Integer id;
private String username;
private String password;
     }
    4、UserDao
        public class UserDao extends JdbcDaoSupport{
public int updateUser(User user){
String sql="update user set username=?,password=? where id=?";
Object[] args{user.getUsername(),user.getPassword(),user.getId()};
return this.getJdbcTemplate().update(sql, args);
}
}
二、配置jdbcInfo.properties
    jdbc.driver="com.mysql.jdbc.Driver"
    jdbc.url="jdbc:mysql://localhost:3306/test"
    jdbc.username="root"
    jdbc.password="123"
三、配置Spring
        <!-- 加载配置文件
"classpath:"前缀表示 src下
在配置文件之后通过  ${key} 获得内容
-->
<context:property-placeholder
          location="classpath:cn/ithuplion/jdbcTemplate/jdbcInfo.properties"/>

    <!--1、 创建数据源 :dbcp连接池-->
    <bean id="dataSourceDBCP" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="${jdbc.driver}"></property>
    <property name="url" value="${jdbc.url}"></property>
    <property name="username" value="${jdbc.username}"></property>
    <property name="password" value="${jdbc.password}"></property>
    </bean>

    <!-- 2、创建数据源 :c3p0连接池-->
     <bean id="dataSourceC3P0" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="driverClass" value="${jdbc.driver}"></property>
    <property name="jdbcUrl" value="${jdbc.url}"></property>
    <property name="user" value="${jdbc.username}"></property>
    <property name="password" value="${jdbc.password}"></property>
    </bean>

    <!-- 3、 Spring 提供了
             org.springframework.jdbc.core.support.JdbcDaoSupport 类
             , 这 个 类 中 定 义 了 JdbcTemplate 属性,也定义了DataSource 属性,
             当设置DataSource 属性的时候,会创 建jdbcTemplate 的实例,所以我们自己
             编写的DAO 只需要继承JdbcDaoSupport 类, 然后注入DataSource 即可。    
     -->
    <bean id="userDao" class="cn.ithuplion.jdbcTemplate.UserDao">
    <property name="dataSource" ref="dataSourceC3P0"></property>
    </bean>

四、测试
        @Test
public void updateTest(){
    User user=new User();
         user.setId(1);
user.setUsername("ithuplion");
user.setPassword("120");
    ApplicationContext applicationContext=new
            ClassPathXmlApplicationContext("cn/ithuplion/jdbcTemplate/bean.xml");
    UserDao userDao = (UserDao) applicationContext.getBean("userDao");
int i = userDao.updateUser(user);
System.out.println(i);
}

猜你喜欢

转载自ithuplion.iteye.com/blog/2373020