第一种方式:.Spring常规的数据库连接方法:
1 @RunWith(SpringJUnit4ClassRunner.class) 2 @ContextConfiguration(locations="classpath:applicationContext.xml") 3 public class jdbcTemplateTest1 { 4 /* @Test 5 public void test1(){ 6 //1.创建数据库连接池(Spring) 7 DriverManagerDataSource dataSource = new DriverManagerDataSource(); 8 //2.设置参数 9 //获取驱动 10 dataSource.setDriverClass("com.mysql.jdbc.Driver"); 11 //连接数据库 12 dataSource.setJdbcUrl("jdbc:mysql:///springtest"); 13 dataSource.setUser("root"); 14 dataSource.setPassword("123"); 15 //3.创建jdbcTemplate 16 JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); 17 jdbcTemplate.execute("update t_user set name='tom' where id=3"); 18 } */ 19 @Autowired 20 private JdbcTemplate jdbcTemplate; 21 @Test 22 public void test2(){ 23 jdbcTemplate.execute("update t_user set name='tom' where id=1"); 24 } 25 }
第二种方式:注入Spring,由Spring内部管理
1.测试类
1 测试类
@RunWith(SpringJUnit4ClassRunner.class) 2 @ContextConfiguration(locations="classpath:applicationContext.xml") 3 public class jdbcTemplateTest1 { 4 @Autowired 5 private JdbcTemplate jdbcTemplate; 6 @Test 7 public void test2(){ 8 jdbcTemplate.execute("update t_user set name='tom' where id=1");}}
2.1applicationContext.xml配置文件-----Spring内置的连接池
1 <!-- Spring内置的连接池 --> 2 <bean id="driverManagerDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 3 <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 4 <property name="url" value="jdbc:mysql:///springtest" /> 5 <property name="username" value="root"/> 6 <property name="password" value="123"></property> 7 </bean> 8 9 <!-- ref声明数据源,交由Spring管理 --> 10 <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> 11 <property name="dataSource" ref="driverManagerDataSource"></property> 12 </bean>
2.2 applicationContext.xml配置文件-----c3p0连接池
1 <!-- 创建c3p0连接池 --> 2 <bean id="c3p0DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> 3 <property name="driverClass" value="com.mysql.jdbc.Driver" /> 4 <property name="jdbcUrl" value="jdbc:mysql:///springtest" /> 5 <property name="user" value="root" /> 6 <property name="password" value="123" /> 7 </bean> 8 <!-- ref声明c3p0的数据源,交由Spring管理 --> 9 <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> 10 <property name="dataSource" ref="c3p0DataSource"></property>
11 </bean>
2.3在c3p0基础上引用外部属性--为了切换oracle等数据库
1<!-- 引入外部的properties文件 -->
<context:property-placeholder location="classpath:db.properties"/>
<!-- 创建c3p0连接池 --> 2 <bean id="c3p0DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> 3 <property name="driverClass" value="${jdbc.driverClass}" /> 4 <property name="jdbcUrl" value="${jdbc.url}" /> 5 <property name="user" value="${jdbc.username}" /> 6 <property name="password" value="${jdbc.password}" /> 7 </bean> 8 <!-- ref声明c3p0的数据源,交由Spring管理 --> 9 <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> 10 <property name="dataSource" ref="c3p0DataSource"></property> 11 </bean>
----------------------------------------------------------------------
db.properties
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url= jdbc:mysql:///springtest
jdbc.username=root
jdbc.password=123