`
jiqimiao
  • 浏览: 59063 次
  • 性别: Icon_minigender_1
  • 来自: 常州
社区版块
存档分类
最新评论

学习Java6(六) 嵌入式数据库Derby(7)Derby+spring+hibernate

 
阅读更多
Derby+spring+hibernate和其它数据库+spring+hibernate基本一样。
下面给出一个例子。
applicationContext.xml
大家重点看下这个配置文件的写法。。。。。
1<?xmlversion="1.0"encoding="UTF-8"?>
2<!DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN//EN""http://www.springframework.org/dtd/spring-beans.dtd">
3
4<beans>
5
6
7<beanid="dataSource"
8class="org.apache.commons.dbcp.BasicDataSource">
9<propertyname="driverClassName">
10<value>org.apache.derby.jdbc.EmbeddedDriver</value>
11</property>
12<propertyname="url">
13<value>jdbc:derby:c:/TESTDB;create=true</value>
14</property>
15<propertyname="username">
16<value>test</value>
17</property>
18<propertyname="password">
19<value>test</value>
20</property>
21</bean>
22<beanid="sessionFactory"
23class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
24<propertyname="dataSource">
25<refbean="dataSource"/>
26</property>
27<propertyname="hibernateProperties">
28<props>
29<propkey="hibernate.dialect">org.hibernate.dialect.DerbyDialect</prop>
30</props>
31</property>
32<propertyname="mappingResources">
33<list>
34<value>UserInfo.hbm.xml</value></list>
35</property></bean>
36<beanid="UserInfoDAO"class="UserInfoDAO">
37<propertyname="sessionFactory">
38<refbean="sessionFactory"/>
39</property>
40</bean></beans>

UserInfo.java
1//defaultpackage
2
3
4
5/**
6*UserInfogeneratedbyMyEclipse-HibernateTools
7*/
8
9publicclassUserInfoimplementsjava.io.Serializable{
10
11
12//Fields
13
14privateIntegerid;
15privateStringname;
16
17
18//Constructors
19
20/**defaultconstructor*/
21publicUserInfo(){
22}
23
24/**minimalconstructor*/
25publicUserInfo(Integerid){
26this.id=id;
27}
28
29/**fullconstructor*/
30publicUserInfo(Integerid,Stringname){
31this.id=id;
32this.name=name;
33}
34
35
36//Propertyaccessors
37
38publicIntegergetId(){
39returnthis.id;
40}
41
42publicvoidsetId(Integerid){
43this.id=id;
44}
45
46publicStringgetName(){
47returnthis.name;
48}
49
50publicvoidsetName(Stringname){
51this.name=name;
52}
53
54
55
56
57
58
59
60
61
62}

UserInfo.hbm.xml

1<?xmlversion="1.0"encoding="utf-8"?>
2<!DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN"
3"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
4<!--
5MappingfileautogeneratedbyMyEclipse-HibernateTools
6-->
7<hibernate-mapping>
8<classname="UserInfo"table="USER_INFO"schema="APP">
9<idname="id"type="java.lang.Integer">
10<columnname="ID"/>
11<generatorclass="assigned"/>
12</id>
13<propertyname="name"type="java.lang.String">
14<columnname="NAME"length="10"/>
15</property>
16</class>
17</hibernate-mapping>
18

UserInfoDAO.java
1//defaultpackage
2
3importjava.util.List;
4importorg.apache.commons.logging.Log;
5importorg.apache.commons.logging.LogFactory;
6importorg.hibernate.LockMode;
7importorg.springframework.context.ApplicationContext;
8importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;
9
10/**
11*Dataaccessobject(DAO)fordomainmodelclassUserInfo.
12*@see.UserInfo
13*@authorMyEclipse-HibernateTools
14*/
15publicclassUserInfoDAOextendsHibernateDaoSupport{
16
17privatestaticfinalLoglog=LogFactory.getLog(UserInfoDAO.class);
18
19protectedvoidinitDao(){
20//donothing
21}
22
23publicvoidsave(UserInfotransientInstance){
24log.debug("savingUserInfoinstance");
25try{
26getHibernateTemplate().save(transientInstance);
27log.debug("savesuccessful");
28}catch(RuntimeExceptionre){
29log.error("savefailed",re);
30throwre;
31}
32}
33
34publicvoiddelete(UserInfopersistentInstance){
35log.debug("deletingUserInfoinstance");
36try{
37getHibernateTemplate().delete(persistentInstance);
38log.debug("deletesuccessful");
39}catch(RuntimeExceptionre){
40log.error("deletefailed",re);
41throwre;
42}
43}
44
45publicUserInfofindById(java.lang.Integerid){
46log.debug("gettingUserInfoinstancewithid:"+id);
47try{
48UserInfoinstance=(UserInfo)getHibernateTemplate()
49.get("UserInfo",id);
50returninstance;
51}catch(RuntimeExceptionre){
52log.error("getfailed",re);
53throwre;
54}
55}
56
57
58publicListfindByExample(UserInfoinstance){
59log.debug("findingUserInfoinstancebyexample");
60try{
61Listresults=getHibernateTemplate().findByExample(instance);
62log.debug("findbyexamplesuccessful,resultsize:"+results.size());
63returnresults;
64}catch(RuntimeExceptionre){
65log.error("findbyexamplefailed",re);
66throwre;
67}
68}
69
70publicListfindByProperty(StringpropertyName,Objectvalue){
71log.debug("findingUserInfoinstancewithproperty:"+propertyName
72+",value:"+value);
73try{
74StringqueryString="fromUserInfoasmodelwheremodel."
75+propertyName+"=?";
76returngetHibernateTemplate().find(queryString,value);
77}catch(RuntimeExceptionre){
78log.error("findbypropertynamefailed",re);
79throwre;
80}
81}
82
83publicUserInfomerge(UserInfodetachedInstance){
84log.debug("mergingUserInfoinstance");
85try{
86UserInforesult=(UserInfo)getHibernateTemplate()
87.merge(detachedInstance);
88log.debug("mergesuccessful");
89returnresult;
90}catch(RuntimeExceptionre){
91log.error("mergefailed",re);
92throwre;
93}
94}
95
96publicvoidattachDirty(UserInfoinstance){
97log.debug("attachingdirtyUserInfoinstance");
98try{
99getHibernateTemplate().saveOrUpdate(instance);
100log.debug("attachsuccessful");
101}catch(RuntimeExceptionre){
102log.error("attachfailed",re);
103throwre;
104}
105}
106
107publicvoidattachClean(UserInfoinstance){
108log.debug("attachingcleanUserInfoinstance");
109try{
110getHibernateTemplate().lock(instance,LockMode.NONE);
111log.debug("attachsuccessful");
112}catch(RuntimeExceptionre){
113log.error("attachfailed",re);
114throwre;
115}
116}
117
118publicstaticUserInfoDAOgetFromApplicationContext(ApplicationContextctx){
119return(UserInfoDAO)ctx.getBean("UserInfoDAO");
120}
121}


呵呵,其实用myeclipse开发还是很方面的,上面的这些文件全都是用myeclipse自动生成的
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics