spring中数据库(JdbcTemplate)的连接

第一步导入炸包(jar包)

第二步连接数据库,原始做法如下

package cn.spring.aopJdbc;
import java.beans.PropertyVetoException;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class springJdbc {
	//原始写法如下
	public void test() throws PropertyVetoException{
      ComboPooledDataSource dataSource=new ComboPooledDataSource();
      dataSource.setDriverClass("com.mysql.jdbc.Driver");
      dataSource.setJdbcUrl("jdbc:mysql:///test");
      dataSource.setUser("root");
      dataSource.setPassword("123456");
   
	}   
}

现在只需要在bean.xml中配置就行

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    xmlns:aop="http://www.springframework.org/schema/aop"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd    
    http://www.springframework.org/schema/aop
    http://www.springframework.org/schema/aop/spring-aop.xsd"> 
   
    <!--1 配置对象,现在的目的就是把一下内容配置出来,第一句,配置一个对象
     ComboPooledDataSource dataSource=new ComboPooledDataSource();
      dataSource.setDriverClass("com.mysql.jdbc.Driver");
      dataSource.setJdbcUrl("jdbc:mysql:///test");
      dataSource.setUser("root");
      dataSource.setPassword("123456");
     -->
       <!-- 配置c3p0连接池 -->
       <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
         <!-- 设置属性值 -->
         <property name="driverClass" value="com.mysql.jdbc.Driver"></property>
         <property name="jdbcUrl" value="jdbc:mysql:///test"></property>
         <property name="user" value="root"></property>
         <property name="password" value="123456"></property>
       </bean>
</beans>    

这样就连接了数据库,具体怎么使用如下目录所示,

主要是cn.spring.c3d0里的内容

User.java

package cn.spring.c3d0;
import org.springframework.jdbc.core.JdbcTemplate;
public class User {
	//得到template对象
	private JdbcTemplate jdbcTemplate;  
	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
		this.jdbcTemplate = jdbcTemplate;
	}

	public void add(){
		  //ComboPooledDataSource dataSource=new ComboPooledDataSource();
		  String sql="insert into user values(?,?)";
		  jdbcTemplate.update(sql,"hellow","520");
	  }
	}

UserService.java

package cn.spring.c3d0;
public class UserService {
	private User user;	
    public void setUser(User user) {
		this.user = user;
	}
      public void add(){	   
	   user.add();
   }
}

test.java

package cn.spring.c3d0;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class test {
	@Test
	public void jdbctest(){
		ApplicationContext context=new ClassPathXmlApplicationContext("bean.xml");
		UserService userService=(UserService) context.getBean("userService");
		userService.add();		
	}

}

bean.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
    xmlns:aop="http://www.springframework.org/schema/aop"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd    
    http://www.springframework.org/schema/aop
    http://www.springframework.org/schema/aop/spring-aop.xsd"> 
   
    <!--1 配置对象,现在的目的就是把以下内容配置出来,第一句,配置一个对象
     ComboPooledDataSource dataSource=new ComboPooledDataSource();
      dataSource.setDriverClass("com.mysql.jdbc.Driver");
      dataSource.setJdbcUrl("jdbc:mysql:///test");
      dataSource.setUser("root");
      dataSource.setPassword("123456");
     -->
       <!-- 配置c3p0连接池,配置dataSource对象以及对象里的属性 -->
       <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
         <!-- 设置属性值 -->
         <property name="driverClass" value="com.mysql.jdbc.Driver"></property>
         <!--我的数据库名字叫test-->
         <property name="jdbcUrl" value="jdbc:mysql:///test"></property>
         <!--我的数据库用户名字叫root-->
         <property name="user" value="root"></property>
         <!--我的数据库密码******,嘿嘿不告诉你。-->  
         <property name="password" value="123456"></property>
       </bean>
    
       <!-- 在UserService中调用User类对象,需要以下配置 -->
       <bean id="userService" class="cn.spring.c3d0.UserService">
          <!-- 在service中注入user对象 -->
          <property name="User" ref="user"></property>
       </bean>
       <bean id="user" class="cn.spring.c3d0.User">
         <!-- 因为在user中我们要得到jdbvTemplate对象 ,因此需要注入-->
         <!-- 第一个参数是user中定的JdbcTemplate对象的名字,
         第二个对象是bean中配置的id名称 -->
         <property name="jdbcTemplate" ref="jdbcTemplate"></property>
         
       </bean>
        <!-- 创建jdbcTemplate对象 -->
        <!-- JdbcTemplate jdbcTemplate=newJdbcTemplate(dataSource); 
        创建jdbctemplate对象时注意里面还传入了一个参数,datasource,也就是连接池-->
        <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
           <!-- 把datasource传入jdbctemplate -->
           <property name="dataSource" ref="dataSource"></property>
        </bean>   
</beans>    

运行结果就是test数据库中的user表中插入了一行数据。

主要过程就是在bean中实现userservice中注入user,user中注入jdbctemplate,然后在jdbctemplate中注入dataSource。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值