已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
HibernateDaoSupport与JdbcDaoSupport总结 Dao 的支持类可以有好多,如: JdbcDaoSupport , HibernateDaoSupport ,JdoDaoSupport等,下面对最常用的HibernateDaoSupport与JdbcDaoSupport做一小总结:一、在Spring框架中实现连接数据库方式:1、借助类HibernateDaoSupport的简约化实现:借助这个类必须需要HIbernate框架,用到HIbernate里提供的HibernateTemplate模板,从而进行增、删、改、查操作。TestA.java:public class TestA extends HibernateDaoSupportpublic void test()HibernateTemplate template = this.getHibernateTemplate();List list = template.find(from User);for(int i=0;ilist.size();i+)User u = (User)list.get(i);System.out.println(u.getUserid()+ +u.getEmail();public static void main(String args) ApplicationContext ctx = new ClassPathXmlApplicationContext(applicationContext.xml);TestA t = (TestA)ctx.getBean(testa);t.test();需要在Spring的配置文件applicationContext.xml中控制反转用到连接数据库中的类是注入SessionsFactory,如下:applicationContext.xml:2、借助类JdbcDaoSupport的简约化实现:借助这个类不需要HIbernate框架,也不需要有ORM的对象关联映射。但它和HibernateDaoSupport很类似,有JdbcTemplate来实现增、删、改、查操作。TestA.java:public class TestA extends JdbcDaoSupportpublic void test()int n = this.getJdbcTemplate().queryForInt(select max(userid) from User);System.out.println(n);public static void main(String args) ApplicationContext ctx = new ClassPathXmlApplicationContext(applicationContext.xml);TestA ta = (TestA)ctx.getBean(testa);ta.test(); 需要在Spring的配置文件applicationContext.xml中控制反转用到连接数据库中的类是注入DataSource,如下:applicationContext.xml:二、编程式事务管理、声明式事务管理中HibernateDaoSupport与JdbcDaoSupport的应用:1、编程式事务管理:1、JdbcDaoSupport编程式事物管理,必须继承JdbcDaoSupport类,得到JdbcTemplate从而实现事务管理;TestA.java:public class TestA extends JdbcDaoSupportpublic void test()PlatformTransactionManager ptm = new DataSourceTransactionManager(this.getDataSource();TransactionTemplate tst = new TransactionTemplate(ptm);tst.execute(new TransactionCallback()public Object doInTransaction(TransactionStatus status) getJdbcTemplate().update(update User set password=1230 where userid=1001); getJdbcTemplate().update(update User set email=4444444444444444444444444444444444 where userid=1002);getJdbcTemplate().update(update User set phone=phone);return null;);public static void main(String args) ApplicationContext ctx = new ClassPathXmlApplicationContext(applicationContext.xml);TestA t = (TestA)ctx.getBean(testa);t.test();需要在Spring的配置文件applicationContext.xml中控制反转用到连接数据库中的类是注入DataSource,如下:applicationContext.xml:. .false2、HibernateDaoSupport编程式事物管理,必须继承HibernateDaoSupport类,得到HibernateTemplate从而实现事务管理;TestB.java:public class TestB extends HibernateDaoSupportpublic void test()HibernateTransactionManager hm = new HibernateTransactionManager(this.getSessionFactory();TransactionTemplate ttm = new TransactionTemplate(hm);ttm.execute(new TransactionCallback()public Object doInTransaction(TransactionStatus status) User u1 = new User();u1.setUserid(3001);u1.setPassword(3001);getHibernateTemplate().save(u1);User u2 = new User();u2.setUserid(3001);u2.setPassword(3002);getHibernateTemplate().save(u2);return null;);public static void main(String args) ApplicationContext ctx = new ClassPathXmlApplicationContext(applicationContext.xml);TestB t = (TestB)ctx.getBean(testb);t.test();需要在Spring的配置文件applicationContext.xml中控制反转用到连接数据库中的类是注入SessionsFactory,如下:applicationContext.xml:. .false2、声明式事务管理: 1、JdbcDaoSupport声明式样事物管理,必须继承JdbcDaoSupport类;. .false需要在Spring配置文件中配置声明事务处理,用JdbcDaoSupport提供的DataSourceTransactionManager如下:PROPAGATION_REQUIREDIUserDao.java:/定义接口public interface IUserDao public void updateUser();UserDao.java:public class UserDao extends JdbcDaoSupport implements IUserDaopublic void updateUser()this.getJdbcTemplate().update(update User set password=password1 where userid=1001);this.getJdbcTemplate().update(update User set password=password9999999999999999999999999999999 where userid=1002);TestA.java:/调用updateUser()方法public classpublic void test()ApplicationContext ctx = new ClassPathXmlApplicationContext(applicationContext.xml);IUserDao u = (IUserDao)ctx.getBean(baseTransactionProxy);u.updateUser();public static void main(String args) TestA t = new TestA();t.test();2、HibernateDaoSupport声明式事物管理,必须继承HibernateDaoSupport类;IUserDao.java:/定义接口public interface IUserDao public void updateUser();UserDao.java:public class UserDao extends HibernateDaoSupport implements IUserDaopublic void updateUser()User u1 = new User();u1.setUserid(1001);u1.setPassword(5001);this.getHibernateTemplate().update(u1);User u2 = new User();u2.setUserid(1003);u2.setPassword(20015555555555555555555555555555555555555555555);this.getHibernateTemplate().update(u2);测试:public class TestApublic void test()ApplicationContext ctx = new ClassPathXmlApplicationContext(applicationContext.xml);IUserDao userdao= (IUserDao)ctx.getBean(userproxy);use
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 起毛挡车工岗位职业健康、安全、环保技术规程
- 公司弹簧工岗位标准化技术规程
- 水环境监测员岗位职业健康及安全技术规程
- 甲壳类养殖工诚信道德知识考核试卷含答案
- 液晶显示器件阵列制造工岗前模拟考核试卷含答案
- 2025年秋北师大版(2022)小学劳动技术六年级上学期期末质量检测卷附答案
- 硕士研究全景解读
- 广东省珠海市某中学2025-2026学年八年级上学期数学10月月考试题【含答案】
- 特训07 二次函数-图形存在性问题专练(7大题型)-2025-2026学年九年级数学上学期期中期末挑战满分冲刺卷(人教版)(原卷版)
- 2025阜新矿业(集团)有限责任公司招聘157人笔试历年参考题库附带答案详解
- 2025年福建泉州慧昊新能源集团有限公司招聘3人考试笔试参考题库附答案解析
- 2025年湖南娄底中小学教师招聘考试卷附答案
- 2025浙江宁波前湾新区所属事业单位招聘工作人员5人历年真题汇编带答案解析
- 2025年华铁旅服招聘面试题目
- 《人口与人种》课件
- 2025年六年级科学上册期末考试题及答案【真题】
- 砂石骨料生产质量培训
- 文物修缮合同协议书
- 2025年中国白蔹市场专项调查分析及投资前景预测报告
- 2025浙江省轨道交通运营管理集团有限公司招聘264人笔试历年常考点试题专练附带答案详解试卷2套
- 殡仪馆消防安全教育培训
评论
0/150
提交评论