先上一段简单示例
パブリッククラスmyTemplate {private dataSource DataSource; public dataSource getDataSource(){return dataSource; } public void setDataSource(dataSource dataSource){this.dataSource = dataSource; } public void Insert(String SQL)STHOWS SQLEXCEPTION {CONNECTION CONN = this.DataSource.getConnection();ステートメントstmt = conn.createstatement(); stmt.executeupdate(sql); stmt.close(); conn.close(); }}dao类
public class persondaoはmytemplateを拡張します{public void saveperson()throws exception {this.insert( "inserting person(pid、pname)values(3、 'aaa')"); }}春配置文件
<! - プロパティ配置文件 - > <bean> <プロパティ名= "locations"> <balue> classpath:jdbc.properties </value> </property> </bean> <bean id = "datasource" destroy-method = "close"> <property name = "driverclassname" value = " value = "$ {jdbc.url}" /> <property name = "username" value = "$ {jdbc.username}" /> <property name = "password" value = "$ {jdbc.password}" /> < /bean> <bean id = "mytemplate"> < bean = "dataSource"/> </property> </bean> <bean id = "persondao"> <プロパティ名= "dataSource"> <ref bean = "dataSource"/> </property> </bean> </bean> </bean>测试类
public class persondaotest {@test public void testpersondao()throws Exception {applicationContext Context = new ClassPathxMLApplicationContext( "CN/QJC/JDBC/ApplicationContext.xml"); persondao persondao =(persondao)context.getbean( "persondao"); persondao.saveperson(); }}DataSource注入给mytemplate、再把データソース注入给persondao、因为persondao继承mytemplate、所以拥有source属性。既然persondao
<bean id = "persondao" parent = "mytemplate"> </bean>
mytemplate类似于设计模式中的模板模式也叫模板方法模式、模板方法模式是所有模式中最为常见的几个模式之一、是基于继承的代码复用的基本技术。
模板模式=静态代码+动态变量
在春中动态变量可以用注入的形式给予。这样的编程方式适合包装成模板。静态代码构成了模板、而动态变量则是需要传入的参数。
スプリングjdbc结合核心类Jdbctemplate
1 、基于模板的设置(为什么可以设置成基于模板的形式)
2 、完成了资源的创建和释放的工作
3 、简化为我们对JDBC的操作
4 、完成了对 jdbc的核心流程的工作、包括sql语句的创建和执行
5 、仅需要传递データソース就可以把它实例化
6、jdbctemplate只需要创建一次
7、jdbctemplate是线程安全类
spring+jdbc修改上面例子(mytemplate 类去掉)
パブリッククラスのpersondaoはjdbcdaosupportを拡張します{public void saveserson(string sql){this.getjdbctemplate()。execute(sql); }}春配置文件改为
<bean id = "persondao"> <プロパティ名= "dataSource"> <ref bean = "dataSource"/> </property> </bean>
jdbctemplate类结构图
执行过程
说明:
1 、执行数据的操作的是 jdbctemplate
2 、最根本的步骤就是要把DataSource注入到JDBCTEMPLATE
3 、通过给 jdbctemplate注入データソース
A 、采用构造器的形式注入
b 、采用セッター方法进行注入
4 、可以给 jdbcdaosupport注入データソース
5 、可以给 jdbcdaosupport注入jdbctemplate
spring与jdbc整合有三种方法、但实际上核心类为jdbctemplate
1 、使用 jdbctemplate
在dao类中、用jdbctemplate作为属性、用spring对jdbctemplate
注:为什么只要对jdbctemplate注入データソース就可以了?
2 、继承JDBCDAOSUPPORT
在dao类中、继承jdbcdaosupport。因为jdbcdaosupport
3 、继承 jdbctemplate
春还提供了其他orm框架整合模式都差不多、完全可直接套用。
春+冬眠
スプリング+jdo
Spring ioc和di的强大、ioc和di spring容器程序员很容易的在客户端实现面向接口编程、而且很容易给接口装配、结构也可以设置的很灵活。因为接口是自己写的、类也是自己写的、配置文件也是自己写的。spring实际完成了创建对象和装配的工作、
以上就是本文的全部内容、希望对大家的学习有所帮助、也希望大家多多支持武林网。