首页 > 代码库 > spring来了-05-JDBC

spring来了-05-JDBC

概述

  1. Spring对C3P0连接池的支持很完善
  2. Spring对jdbc提供了JdbcTemplate,来简化jdbc操作, JdbcTemplate模板工具类,类似于DbUtils组件

 

JDBC:

 1 package cn.fuyi.h_jdbc; 2  3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.PreparedStatement; 6  7 public class UserDao { 8  9     public void save() {10         try {11             String sql = "insert into dept(dname) values(?)";12             Class.forName("com.mysql.jdbc.Driver");13             Connection connection = DriverManager14                     .getConnection("jdbc:mysql:///mydb", "root", "950613");15             PreparedStatement pstmt = connection.prepareStatement(sql);16             pstmt.setString(1, "test");17             pstmt.execute();18             19             pstmt.close();20             connection.close();21         } catch (Exception e) {22             e.printStackTrace();23         }24     }25 }

 

使用DataSource

 1 package cn.fuyi.h_jdbc; 2  3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.PreparedStatement; 6  7 import javax.sql.DataSource; 8  9 public class UserDao {10     11     private DataSource dataSource;12     public void setDataSource(DataSource dataSource) {13         this.dataSource = dataSource;14     }15 16     public void save() {17         try {18             String sql = "insert into dept(dname) values(?)";19             Class.forName("com.mysql.jdbc.Driver");20             Connection connection = dataSource.getConnection();21             PreparedStatement pstmt = connection.prepareStatement(sql);22             pstmt.setString(1, "test1111");23             pstmt.execute();24             25             pstmt.close();26             connection.close();27         } catch (Exception e) {28             e.printStackTrace();29         }30     }31 }
 1     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> 2         <property name="jdbcUrl" value="http://www.mamicode.com/jdbc:mysql:///mydb"></property> 3         <property name="driverClass" value="http://www.mamicode.com/com.mysql.jdbc.Driver"></property> 4         <property name="user" value="http://www.mamicode.com/root"></property> 5         <property name="password" value="http://www.mamicode.com/950613"></property> 6         <property name="initialPoolSize" value="http://www.mamicode.com/5"></property> 7         <property name="maxPoolSize" value="http://www.mamicode.com/10"></property> 8     </bean> 9     10     <bean id="userDao" class="cn.fuyi.h_jdbc.UserDao">11         <property name="dataSource" ref="dataSource"></property>12     </bean>

 

使用JdbcTemplate:

  1)引入jar文件

    spring-jdbc-3.2.5.RELEASE.jar            jdbc支持包

    spring-tx-3.2.5.RELEASE.jar               事务包

    c3p0-0.9.1.2.jar                                c3p0
    mysql-connector-java-5.1.12-bin.jar    驱动类

 1 package cn.fuyi.h_jdbc; 2  3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.PreparedStatement; 6  7 import javax.sql.DataSource; 8  9 import org.springframework.jdbc.core.JdbcTemplate;10 11 public class UserDao {12     13     private DataSource dataSource;14     public void setDataSource(DataSource dataSource) {15         this.dataSource = dataSource;16     }17     18     public void save1() {19         String sql = "insert into dept(dname) values(‘test123‘)";20         JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);21         jdbcTemplate.execute(sql);22     }23 }
 1 <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> 2         <property name="jdbcUrl" value="http://www.mamicode.com/jdbc:mysql:///mydb"></property> 3         <property name="driverClass" value="http://www.mamicode.com/com.mysql.jdbc.Driver"></property> 4         <property name="user" value="http://www.mamicode.com/root"></property> 5         <property name="password" value="http://www.mamicode.com/950613"></property> 6         <property name="initialPoolSize" value="http://www.mamicode.com/5"></property> 7         <property name="maxPoolSize" value="http://www.mamicode.com/10"></property> 8     </bean> 9     10     <bean id="userDao" class="cn.fuyi.h_jdbc.UserDao">11         <property name="dataSource" ref="dataSource"></property>12     </bean>

 

spring来了-05-JDBC