先上一段简单示例
公共类myTemplate {private DataSource DataSource; public DataSource getDataSource(){返回dataSource; } public void setDataSource(dataSource dataSource){this.datasource = dataSource; } public void insert(String sql)抛出SQLEXCEPTION {Connection conn = this.datasource.getConnection();语句stmt = conn.CreateStatement(); stmt.executeupdate(sql); stmt.close(); conn.close(); }}}道
公共类Persondao扩展了myTemplate {public void saveperson()抛出异常{this.insert(“插入人(pid,pname)值(3,'aaa')”); }}}春天
<! - 引入属性配置文件-> <bean> <propert name =“ locations”> <value> classPath:jdbc.properties </value> </bortial> </belt> </bean> </bean> <bean id =“ dataSource” dataSource“ destaSource” destion-method =“ clote> <property”> <propent值=“ $ {jdbc.url}” /> <属性名称=“用户名” value =“ $ {jdbc.username}” /> <property name =“ password” value =“ $ {jdbc.password}” /> < /> < /> < /> < /> < /bean> < /bean> <bean id =“ mytemplate”> <! </property> </bean> <bean id =“ persondao”> <property name =“ dataSource”> <ref bean =“ dataSource”/> </property> </bean> </bean> </beans>测试类
public Class persondaotest {@test public void testpersondao()抛出异常{applicationContext context = new ClassPathxmlapplicationContext(“ cn/qjc/jdbc/applicationcontext.xml”); persondao persondao =(persondao)context.getBean(“ persondao”); persondao.saveperson(); }}}以上代码将datasource注入给myTemplate,再把datasource注入给persondao,因为persondao继承mytemplate,所以拥有dataSource属性。既然persondao persondao继承mytemplate,所以persondao类注入可以改为
<bean id =“ persondao” parent =“ mytemplate”> </bean>
以上例子中mytemplate类似于设计模式中的模板模式也叫模板方法模式,模板方法模式是所有模式中最为常见的几个模式之一,是基于继承的代码复用的基本技术。,是基于继承的代码复用的基本技术。
模板模式=静态代码+动态变量
在春天中动态变量可以用注入的形式给予。这样的编程方式适合包装成模板。静态代码构成了模板,而动态变量则是需要传入的参数。,而动态变量则是需要传入的参数。
春季与jdbc结合核心类jdbctemplate
(1 、基于模板的设置(为什么可以设置成基于模板的形式)
2 、完成了资源的创建和释放的工作
3、简化为我们对JDBC的操作
4 、完成了对 jdbc的核心流程的工作,包括sql语句的创建和执行
5 、仅需要传递数据源就可以把它实例化
6,jdbctemplate只需要创建一次
7,jdbctemplate是线程安全类
使用春季+jdbc 修改上面例子((mytemplate)(MyTemplate))
公共类Persondao扩展了JDBCDAOSUPPORT {public void SavePerson(string sql){this.getJdbCtemplate()。execute(sql); }}}春天
<bean id =“ persondao”> <property name =“ dataSource”> <ref bean =“ dataSource”/> </proterty> </bean> </bean>
jdbctemplate类结构图
执行过程
说明:
1 、执行数据的操作的是 jdbctemplate
2、最根本的步骤就是要把数据源注入到jdbctemplate
3 、通过给 jdbctemplate注入数据源
A 、采用构造器的形式注入
b 、采用二阶
4 、可以给 jdbcdaosupport注入dataSource
5 、可以给 jdbcdaosupport注入jdbctemplate
所以春季与jdbc整合有三种方法,但实际上核心类为jdbctemplate
1 、使用 jdbctemplate
在dao类中,用jdbctemplate作为属性,spring对jdbctemplate进行注入。再对jdbctemplate进行datasource注入。
注:为什么只要对jdbctemplate注入datasource 就可以了?
2 、继承 jdbcdaosupport
在dao类中,继承jdbcdaosupport。因为jdbcdaosupport已经有了jdbctemplate的引用,所以只要继承jdbcdaosupport就相当于有了
3 、继承 jdbctemplate
春季还提供了其他还提供了其他,完全可直接套用。,完全可直接套用。
春季+冬眠
春季+JDO
spring ioc和di的强大,ioc和di完成了从接口到类的对应。利用spring容器程序员很容易的在客户端实现面向接口编程,而且很容易给接口装配,结构也可以设置的很灵活。因为接口是自己写的,类也是自己写的,配置文件也是自己写的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。,也希望大家多多支持武林网。