依赖
< ? xml version= "1.0" encoding= "UTF-8" ? > < project xmlns= "http://maven.apache.org/POM/4.0.0" xmlns: xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation= "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > < modelVersion> 4.0 .0 < / modelVersion> < groupId> org. example< / groupId> < artifactId> testspring02< / artifactId> < version> 1.0 - SNAPSHOT < / version> < packaging> war< / packaging> < name> testspring02 Maven Webapp < / name> < ! -- FIXME change it to the project's website -- > < url> http: / / www. example. com< / url> < properties> < project. build. sourceEncoding> UTF - 8 < / project. build. sourceEncoding> < maven. compiler. source> 1.7 < / maven. compiler. source> < maven. compiler. target> 1.7 < / maven. compiler. target> < / properties> < dependencies> < dependency> < groupId> junit< / groupId> < artifactId> junit< / artifactId> < version> 4.11 < / version> < scope> test< / scope> < / dependency> < ! -- 导入spring的核心jar包 -- > < dependency> < groupId> org. springframework< / groupId> < artifactId> spring- core< / artifactId> < version> 4.3 .18 . RELEASE < / version> < / dependency> < dependency> < groupId> org. springframework< / groupId> < artifactId> spring- beans< / artifactId> < version> 4.3 .18 . RELEASE < / version> < / dependency> < dependency> < groupId> org. springframework< / groupId> < artifactId> spring- context< / artifactId> < version> 4.3 .18 . RELEASE < / version> < / dependency> < dependency> < groupId> org. springframework< / groupId> < artifactId> spring- context- support< / artifactId> < version> 4.3 .18 . RELEASE < / version> < / dependency> < dependency> < groupId> org. springframework< / groupId> < artifactId> spring- expression< / artifactId> < version> 4.3 .18 . RELEASE < / version> < / dependency> < dependency> < groupId> mysql< / groupId> < artifactId> mysql- connector- java< / artifactId> < version> 5.1 .37 < / version> < / dependency> < dependency> < groupId> com. mchange< / groupId> < artifactId> c3p0< / artifactId> < version> 0.9 .5 .2 < / version> < / dependency> < ! -- 配置的 spring- jdbc -- > < dependency> < groupId> org. springframework< / groupId> < artifactId> spring- jdbc< / artifactId> < version> 4.3 .18 . RELEASE < / version> < / dependency> < / dependencies> < build> < finalName> testspring02< / finalName> < pluginManagement> < ! -- lock down plugins versions to avoid using Maven defaults ( may be moved to parent pom) -- > < plugins> < plugin> < artifactId> maven- clean- plugin< / artifactId> < version> 3.1 .0 < / version> < / plugin> < ! -- see http: / / maven. apache. org/ ref/ current/ maven- core/ default - bindings. html#Plugin_bindings_for_war_packaging -- > < plugin> < artifactId> maven- resources- plugin< / artifactId> < version> 3.0 .2 < / version> < / plugin> < plugin> < artifactId> maven- compiler- plugin< / artifactId> < version> 3.8 .0 < / version> < / plugin> < plugin> < artifactId> maven- surefire- plugin< / artifactId> < version> 2.22 .1 < / version> < / plugin> < plugin> < artifactId> maven- war- plugin< / artifactId> < version> 3.2 .2 < / version> < / plugin> < plugin> < artifactId> maven- install- plugin< / artifactId> < version> 2.5 .2 < / version> < / plugin> < plugin> < artifactId> maven- deploy- plugin< / artifactId> < version> 2.8 .2 < / version> < / plugin> < / plugins> < / pluginManagement> < / build>
< / project>
测试类
package com. test. springJdbc ; import com. mchange. v2. c3p0. ComboPooledDataSource ;
import org. junit. Test ;
import org. springframework. jdbc. core. JdbcTemplate ; import java. beans. PropertyVetoException ;
public class TestJdbcTemplate { @Test public void test ( ) { ComboPooledDataSource pooledDataSource= new ComboPooledDataSource ( ) ; try { pooledDataSource. setDriverClass ( "com.mysql.jdbc.Driver" ) ; pooledDataSource. setJdbcUrl ( "jdbc:mysql://localhost:3306/itstar" ) ; pooledDataSource. setUser ( "itstar" ) ; pooledDataSource. setPassword ( "yyy123456" ) ; JdbcTemplate jdbcTemplate= new JdbcTemplate ( pooledDataSource) ; String sql= "insert into user values(null,?,?)" ; jdbcTemplate. update ( sql, "daimenglaoshi" , "123" ) ; } catch ( PropertyVetoException e) { e. printStackTrace ( ) ; } }
}
用spring管理jdbc相关类
spring配置文件
<?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: context= " http://www.springframework.org/schema/context" xsi: schemaLocation= " http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd" > < context: component-scan base-package = " com.test" /> < context: property-placeholder location = " db.properties" /> < bean id = " comboPooledDataSource" class = " com.mchange.v2.c3p0.ComboPooledDataSource" > < property name = " driverClass" value = " ${driverClass}" /> < property name = " jdbcUrl" value = " ${jdbcUrl}" /> < property name = " user" value = " ${user}" /> < property name = " password" value = " ${password}" /> </ bean> < bean id = " jdbcTemplate" class = " org.springframework.jdbc.core.JdbcTemplate" > < constructor-arg name = " dataSource" ref = " comboPooledDataSource" /> </ bean> </ beans>
测试类
package com. test. dao. impl ; import com. test. dao. IUsersDao ;
import com. test. pojo. Users ;
import org. springframework. beans. factory. annotation. Autowired ;
import org. springframework. jdbc. core. JdbcTemplate ;
import org. springframework. stereotype. Component ;
@Component
public class UsersDao implements IUsersDao { @Autowired private JdbcTemplate jdbcTemplate; @Override public void add ( Users user) { String sql = "insert into users values(null,?,?)" ; jdbcTemplate. update ( sql, user. getName ( ) , user. getPassword ( ) ) ; }
}
package com. test. springJdbc ; import com. test. dao. IUsersDao ;
import com. test. pojo. Users ;
import org. junit. Test ;
import org. springframework. context. support. ClassPathXmlApplicationContext ; import java. util. List ; public class TestUsersDao { @Test public void test ( ) { ClassPathXmlApplicationContext applicationContext= new ClassPathXmlApplicationContext ( "applicationContext.xml" ) ; IUsersDao usersDao= applicationContext. getBean ( "usersDao" , IUsersDao . class ) ; Users user= new Users ( "xiaowanglaoshi" , "123" ) ; usersDao. add ( user) ; } }