日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HibernateTemplate、HibernateDaoSupport两种方法实现增删改查Good

發(fā)布時(shí)間:2025/6/15 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HibernateTemplate、HibernateDaoSupport两种方法实现增删改查Good 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Spring+Hibernate兩種方法實(shí)現(xiàn)增刪改查

? ? 首先,定義一個(gè)Customer的bean類,設(shè)置好Customer.hbm.xml文件。再定義好一個(gè)Dao接口。準(zhǔn)備好一個(gè)jdbc.properties文件。 ?

?

第一種方法:

在dao類中定義一個(gè)HibernateTemplate類的對(duì)象,用該對(duì)象調(diào)用HibernateTemplate模板封裝好的方法,如下:

? Java代碼 ?
  • /***?
  • ?*?hibernateTemplate的轉(zhuǎn)配模式?
  • ?*/??
  • public?class?CustomerDaoImpl?implements?CustomerDao?{??
  • ????//?設(shè)置hibernateTemplate屬性??
  • ????private?HibernateTemplate?hibernateTemplate;??
  • ??
  • ????//?必須設(shè)置set方法??
  • ????public?void?setHibernateTemplate(HibernateTemplate?hibernateTemplate)?{??
  • ????????this.hibernateTemplate?=?hibernateTemplate;??
  • ????}??
  • ??
  • ????//?插入方法??
  • ????@Override??
  • ????public?void?insert(Customer?entity)?{??
  • ????????hibernateTemplate.save(entity);??
  • ????}??
  • ??
  • ????//?刪除方法(按照試題刪除)??
  • ????@Override??
  • ????public?void?delete(Customer?entity)?{??
  • ????????hibernateTemplate.delete(entity);??
  • ??
  • ????}??
  • ??
  • ????//?刪除方法,按id刪除,該方法不成功??
  • ????@Override??
  • ????public?void?deleteById(int?id)?{??
  • ????????//?hibernateTemplate.??
  • ????}??
  • ??
  • ????//?查詢所有記錄??
  • ????@Override??
  • ????public?List<Customer>?selectAll()?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ????????List<Customer>?entities?=?hibernateTemplate.find("from?Customer");??
  • ????????return?entities;??
  • ????}??
  • ??
  • ????//?按照id查找記錄??
  • ????@Override??
  • ????public?Customer?selectById(int?id)?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ????????List<Customer>?entitise?=?hibernateTemplate??
  • ????????????????.find("from?Customer?where?id="?+?id);??
  • ????????if?(entitise.size()?>?0)?{??
  • ????????????Customer?entity?=?entitise.get(0);??
  • ????????????return?entity;??
  • ????????}??
  • ????????return?null;??
  • ????}??
  • ??
  • ????//?更新方法??
  • ????@Override??
  • ????public?void?update(Customer?entity)?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ????????hibernateTemplate.update(entity);??
  • ????}??
  • ??
  • }??
  • xml中的部分代碼如下:

    Java代碼 ?
  • <!--?分散配置?-->??
  • ????<context:property-placeholder?location="jdbc.properties"?/>??
  • ??
  • ????<!--?c3p0數(shù)據(jù)源?-->??
  • ????<bean?id="dataSource"?class="com.mchange.v2.c3p0.ComboPooledDataSource">??
  • ????????<!--?驅(qū)動(dòng)程序?-->??
  • ????????<property?name="driverClass">??
  • ????????????<value>${jdbc.driverClass}</value>??
  • ????????</property>??
  • ??
  • ????????<!--?連接的url地址?-->??
  • ????????<property?name="jdbcUrl">??
  • ????????????<value>${jdbc.url}</value>??
  • ????????</property>??
  • ??
  • ????????<!--?連接的用戶名?-->??
  • ????????<property?name="user">??
  • ????????????<value>${jdbc.user}</value>??
  • ????????</property>??
  • ??
  • ????????<!--?連接的密碼?-->??
  • ????????<property?name="password">??
  • ????????????<value>${jdbc.password}</value>??
  • ????????</property>??
  • ??
  • ????????<!--?最大池?cái)?shù)?-->??
  • ????????<property?name="maxPoolSize">??
  • ????????????<value>${c3p0.pool.max}</value>??
  • ????????</property>??
  • ??
  • ????????<!--?最小池?cái)?shù)?-->??
  • ????????<property?name="minPoolSize">??
  • ????????????<value>${c3p0.pool.min}</value>??
  • ????????</property>??
  • ????????<!--?默認(rèn)初始化的池?cái)?shù)?-->??
  • ????????<property?name="initialPoolSize">??
  • ????????????<value>${c3p0.pool.init}</value>??
  • ????????</property>??
  • ????</bean>??
  • ??
  • ??
  • ????<bean?id="sessionFactory"??
  • ????????class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">??
  • ????????<!--?設(shè)置數(shù)據(jù)源?-->??
  • ????????<property?name="dataSource"?ref="dataSource"?/>??
  • ????????<!--?屬性設(shè)置?-->??
  • ????????<property?name="hibernateProperties">??
  • ????????????<props>??
  • ????????????????<prop?key="hibernate.show_sql">${hibernate.show_sql}</prop>??
  • ????????????????<prop?key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>??
  • ????????????</props>??
  • ????????</property>??
  • ????????<!--?映射文件配置?-->??
  • ????????<property?name="mappingResources">??
  • ????????????<list>??
  • ????????????????<value>cn/csdn/domain/Customer.hbm.xml</value>??
  • ????????????</list>??
  • ????????</property>??
  • ??
  • ????</bean>??
  • ??
  • ??
  • ????<span?style="background-color:?#ff0000;"><!--?hibernate模板?-->??
  • ????<bean?id="hibernateTemplate"?class="org.springframework.orm.hibernate3.HibernateTemplate">??
  • ????????<property?name="sessionFactory"?ref="sessionFactory"?/>??
  • ????</bean></span>??
  • ??
  • ????<!--?dao的操作的bean?-->??
  • ????<bean?id="customerDaoImpl"?class="cn.csdn.dao.CustomerDaoImpl">??
  • ????????<!--?注入依賴模板?-->??
  • ????????<property?name="hibernateTemplate"?ref="hibernateTemplate"?/>??
  • ????????</bean>??
  • ?

    第二種方法:

    Dao實(shí)現(xiàn)類繼承HibernateDaoSupport類,該類是抽象類,該類中有一個(gè)HibernateTemplate的屬性,通過this.getHibernateTemplate()可獲得一個(gè)HibernateTemplate類的對(duì)象。

    Dao實(shí)現(xiàn)類中的代碼如下:

    Java代碼 ?
  • /**?
  • ?*?繼承HibernateDaoSupport類,HibernateDaoSupport類中封裝了一個(gè)hibernateTemplate變量?
  • ?*/??
  • public?class?CustomerDaoImpl1?extends?HibernateDaoSupport?implements??
  • ????????CustomerDao?{??
  • ??
  • ????//?添加記錄??
  • ????@Override??
  • ????public?void?insert(Customer?entity)?{??
  • ????????this.getHibernateTemplate().save(entity);??
  • ????}??
  • ??
  • ????//?刪除記錄(按照實(shí)體刪除)??
  • ????@Override??
  • ????public?void?delete(Customer?entity)?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ????????this.getHibernateTemplate().delete(entity);??
  • ??
  • ????}??
  • ??
  • ????//?刪除記錄(按id刪除),不成功??
  • ????//??
  • ????@Override??
  • ????public?void?deleteById(int?id)?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ????????//?this.getHibernateTemplate().delete(entity);??
  • ????}??
  • ??
  • ????//?查詢所有的記錄??
  • ????@Override??
  • ????public?List<Customer>?selectAll()?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ????????List<Customer>?entities?=?this.getHibernateTemplate().find(??
  • ????????????????"from?Customer");??
  • ????????return?entities;??
  • ????}??
  • ??
  • //??按照id查找記錄??
  • ????@Override??
  • ????public?Customer?selectById(int?id)?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ????????List<Customer>?entities=this.getHibernateTemplate().find("from?Customer?where?id="+id);??
  • ????????if(entities.size()>0){??
  • ????????????Customer?entity=entities.get(0);??
  • ????????????return?entity;??
  • ????????}??
  • ????????return?null;??
  • ????}??
  • ??
  • //??更新的方法??
  • ????@Override??
  • ????public?void?update(Customer?entity)?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ????????this.getHibernateTemplate().update(entity);??
  • ????}??
  • ??
  • ????}??
  • ?

    ?xml中的部分代碼:

    Java代碼 ?
  • <!--?分散配置?-->??
  • ????<context:property-placeholder?location="jdbc.properties"?/>??
  • ??
  • ????<!--?c3p0數(shù)據(jù)源?-->??
  • ????<bean?id="dataSource"?class="com.mchange.v2.c3p0.ComboPooledDataSource">??
  • ????????<!--?驅(qū)動(dòng)程序?-->??
  • ????????<property?name="driverClass">??
  • ????????????<value>${jdbc.driverClass}</value>??
  • ????????</property>??
  • ??
  • ????????<!--?連接的url地址?-->??
  • ????????<property?name="jdbcUrl">??
  • ????????????<value>${jdbc.url}</value>??
  • ????????</property>??
  • ??
  • ????????<!--?連接的用戶名?-->??
  • ????????<property?name="user">??
  • ????????????<value>${jdbc.user}</value>??
  • ????????</property>??
  • ??
  • ????????<!--?連接的密碼?-->??
  • ????????<property?name="password">??
  • ????????????<value>${jdbc.password}</value>??
  • ????????</property>??
  • ??
  • ????????<!--?最大池?cái)?shù)?-->??
  • ????????<property?name="maxPoolSize">??
  • ????????????<value>${c3p0.pool.max}</value>??
  • ????????</property>??
  • ??
  • ????????<!--?最小池?cái)?shù)?-->??
  • ????????<property?name="minPoolSize">??
  • ????????????<value>${c3p0.pool.min}</value>??
  • ????????</property>??
  • ????????<!--?默認(rèn)初始化的池?cái)?shù)?-->??
  • ????????<property?name="initialPoolSize">??
  • ????????????<value>${c3p0.pool.init}</value>??
  • ????????</property>??
  • ????</bean>??
  • ??
  • ??
  • ????<bean?id="sessionFactory"??
  • ????????class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">??
  • ????????<!--?設(shè)置數(shù)據(jù)源?-->??
  • ????????<property?name="dataSource"?ref="dataSource"?/>??
  • ????????<!--?屬性設(shè)置?-->??
  • ????????<property?name="hibernateProperties">??
  • ????????????<props>??
  • ????????????????<prop?key="hibernate.show_sql">${hibernate.show_sql}</prop>??
  • ????????????????<prop?key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>??
  • ????????????</props>??
  • ????????</property>??
  • ????????<!--?映射文件配置?-->??
  • ????????<property?name="mappingResources">??
  • ????????????<list>??
  • ????????????????<value>cn/csdn/domain/Customer.hbm.xml</value>??
  • ????????????</list>??
  • ????????</property>??
  • ??
  • ????</bean>??
  • ??
  • ??
  • ????<!--?設(shè)置HibernateDaoSupport抽象類-->??
  • ????<bean?id="hibernateDaoSupport"??
  • ????????class="org.springframework.orm.hibernate3.support.HibernateDaoSupport"??
  • ????????abstract="true">??
  • ????????<property?name="sessionFactory"?ref="sessionFactory"?/>??
  • ????</bean>?

  • ????<!--?dao的操作的bean?-->??
  • ????<bean?id="customerDaoImpl"?class="cn.csdn.dao.CustomerDaoImpl1"??
  • ????????????parent="hibernateDaoSupport"?/>?
  • ???? <bean id="adminDAO" class="com.haier.uhome.hr91.manager.dao.AdminDAO">
    ?? ??? ????? parent="hibernateDaoSupport"/>

  • 或者如下:

    <bean id="customerDaoImpl" class="cn.csdn.dao.CustomerDaoImpl1">
    ?? ??? ?<property name="sessionFactory">
    ?? ??? ??? ?<ref local="sessionFactory" />
    ?? ??? ?</property>
    ?? ?</bean>

    <bean id="adminDAO" class="com.haier.uhome.hr91.manager.dao.AdminDAO">
    ?? ??? ?<property name="sessionFactory">
    ?? ??? ??? ?<ref local="sessionFactory" />
    ?? ??? ?</property>
    ?? ?</bean>

    總結(jié)

    以上是生活随笔為你收集整理的HibernateTemplate、HibernateDaoSupport两种方法实现增删改查Good的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 亚洲午夜在线视频 | 欧美在线视频精品 | 97看片网| 日韩高清在线一区二区 | 在线观看日韩中文字幕 | 9191av| 毛片在线免费观看视频 | 一久久久久| 久久久啊啊啊 | 亚洲经典视频 | 男女那个视频 | 国产精品.www| 波多野结衣在线一区二区 | 91视频免费看 | 国产113页| 香港av在线 | 一区二区三区激情 | 久久精品中文字幕 | 人妻激情偷乱频一区二区三区 | 国产永久在线观看 | 欧美xxxx胸大 | 欧美日韩亚洲激情 | 九色网站在线观看 | 国产精品久久久99 | 成年人激情视频 | 亚洲人高潮女人毛茸茸 | 一区二区三区精彩视频 | 午夜亚洲AV永久无码精品蜜芽 | aaaa毛片| 婷婷国产精品 | 激情综合网五月激情 | 人操人操 | 在线免费观看日韩 | 日本熟妇一区二区三区 | www.99视频 | 懂色av一区二区三区免费观看 | 中文字幕乱码一二三区 | 精品久久久久久久久中文字幕 | 午夜黄视频 | 91福利片| 国产xxxxxxxxx | 国产12页 | 国产乱xxⅹxx国语对白 | 日韩诱惑 | 日韩av在线不卡 | 青青一区二区 | 免费看黄在线 | 超碰在线免费公开 | 日韩乱码人妻无码中文字幕 | 奇米7777| 夜色在线视频 | 成人在线手机视频 | 精品人妻一区二区三区四区久久 | 爱上av| av网天堂 | www日本视频 | va在线观看| 亚洲热久久 | 欧美 丝袜 自拍 制服 另类 | 18av在线播放 | 中文字幕三区 | 狠狠综合一区 | 亚洲一区 视频 | 综合 欧美 亚洲日本 | 欧美精品一区二区三区久久久 | 久久国产视频网站 | h在线免费| 91嫩草视频在线观看 | 午夜三区 | 做爰视频毛片视频 | 日韩va在线观看 | 欧洲视频一区 | 黄色a级在线观看 | 亚洲欧美精品 | 91传媒网站 | 亚洲图片欧美另类 | 超碰在线个人 | 中文字幕高清视频 | 成人免费黄色大片 | 无码专区久久综合久中文字幕 | 精品国产欧美日韩 | 热久久亚洲 | www.国产在线观看 | 欧美激情天堂 | 粉色视频免费观看 | 少妇精品偷拍高潮白浆 | 黄色aaa大片 | 亚洲欧美在线免费 | 午夜性刺激免费视频 | 91香蕉视频在线观看免费 | 日本一区二区不卡在线 | 欧美国产日韩一区二区三区 | ,国产精品国产三级国产 | 国产美女引诱水电工 | 理伦毛片 | 国模av| 日韩一级免费观看 | 国产精品久久久久久久一区二区 | av优选在线观看 |