使用spring dataSource的几种方式
(1)不用jdbctemplate 使用DataSource
public TestDao(){
public DateSource datasource;
public query(){
conn = datasource.getConnection()
statement =conn.prepareStatement(sql)
statement.setInt(1,"xx")//1为问号的位置,从1开始
rs = statement.executeQuery();
....
conn.close();
}
}
可以看到很麻烦,需要自己来维护链接,包括打开、关闭等操作。
(2)使用jdbcTemplate
public TestDao(){
public DateSource datasource;
public query(){
jdbcTemplate = new JdbcTemplate(datasource);
jdbcTemplate.queryForObject(sql, String.class, args1)
}
}
可以看到已经节省了大量的代码,很多的操作都由jdbctemplate来帮我们来做了,我们只需要给jdbctemplate注入一个
dataSource,然后直接调用JdbcTemplate的API即可
(3)继承JdbcDaoSupport
public TestDao() extends JdbcDaoSupport{
public query(){
this.getJdbcTemplate.queryForObject(sql, String.class, args1)
}
}
然后在spring-Servlet.xml(spring配置文件)中,给TestDao注入dataSource
<bean id="test" class="com.my.TestDao">
<property name="dataSource" ref = "dataSource">
</bean>
其中,dataSource为自己定义的数据源的bean。因为从源码中更可以看到JdbcDaoSupport中有一个变量JdbcTemplate,所以不需要自己new了。JdbcTemplate中又有一个变量dataSource。
最后,给出数据源的配置样例
<bean id = "datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://10.47.180.190:5518/iecs"/>
<property name="username" value="zxin_smap"/>
<property name="password" value="db10$ZTE"/>
</bean>
使用spring的数据库相关功能,需要导入包
spring-jdbc-3.2.9.RELEASE.jar -- jdbctemplate JdbcDaoSupport等都在此包中
spring-tx-3.2.9.RELEASE.jar -- DaoSupport在此包中,JdbcDaoSupport依赖于该类
mysql-connector-java-5.1.25-bin.jar --mysql数据库链接驱动类
(1)不用jdbctemplate 使用DataSource
public TestDao(){
public DateSource datasource;
public query(){
conn = datasource.getConnection()
statement =conn.prepareStatement(sql)
statement.setInt(1,"xx")//1为问号的位置,从1开始
rs = statement.executeQuery();
....
conn.close();
}
}
可以看到很麻烦,需要自己来维护链接,包括打开、关闭等操作。
(2)使用jdbcTemplate
public TestDao(){
public DateSource datasource;
public query(){
jdbcTemplate = new JdbcTemplate(datasource);
jdbcTemplate.queryForObject(sql, String.class, args1)
}
}
可以看到已经节省了大量的代码,很多的操作都由jdbctemplate来帮我们来做了,我们只需要给jdbctemplate注入一个
dataSource,然后直接调用JdbcTemplate的API即可
(3)继承JdbcDaoSupport
public TestDao() extends JdbcDaoSupport{
public query(){
this.getJdbcTemplate.queryForObject(sql, String.class, args1)
}
}
然后在spring-Servlet.xml(spring配置文件)中,给TestDao注入dataSource
<bean id="test" class="com.my.TestDao">
<property name="dataSource" ref = "dataSource">
</bean>
其中,dataSource为自己定义的数据源的bean。因为从源码中更可以看到JdbcDaoSupport中有一个变量JdbcTemplate,所以不需要自己new了。JdbcTemplate中又有一个变量dataSource。
最后,给出数据源的配置样例
<bean id = "datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://10.47.180.190:5518/iecs"/>
<property name="username" value="zxin_smap"/>
<property name="password" value="db10$ZTE"/>
</bean>
使用spring的数据库相关功能,需要导入包
spring-jdbc-3.2.9.RELEASE.jar -- jdbctemplate JdbcDaoSupport等都在此包中
spring-tx-3.2.9.RELEASE.jar -- DaoSupport在此包中,JdbcDaoSupport依赖于该类
mysql-connector-java-5.1.25-bin.jar --mysql数据库链接驱动类