ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:18.05KB ,
资源ID:24580489      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24580489.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(在resin3配置hibernate.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

在resin3配置hibernate.docx

1、在resin3配置hibernate在resin3.0中配置hibernate2.1.2连mysql在resin3.0中配置hibernate2.1.2连mysqlAuthor : hamal约定:resin3 代表resin3.0的安装根目录hibernate2 代表hibernate2.1.2的安装根目录1. 在resin3下建立我们的web应用根,如resin3mydomain目录(mydomain的目录名可以随意取,之后在配置文件中配置即可)2. 在resin3mydomain目录下分别建立resin3mydomainWEB-INFclasses目录和resin3mydomainWEB

2、-INFlib目录。这两个目录对应本web应用程序上下文的类装载器搜索路径(对于jar来说是resin3mydomainWEB-INFlib,对于class文件来说是resin3mydomainWEB-INFclasses)。我们把这两个路径分别称为应用库类路径(用于存放和本应用相关的jar类库)和上下文类路径(用于存放本应用的class文件和xml配置文件)。另外还有一个路径是resin3lib目录,我们称该路径为全局库类路径(存放于resin3服务器上,供该服务器上所有web应用共享使用的相关jar类库)。3. 本示例使用的是mysql数据库,所以我们将mysql的jdbc驱动jar包(m

3、m.mysql-2.0.4-bin.jar)放入resin3lib目录中,之后该驱动将能被所有web应用所用。4. 将hibernate2 hibernate2.jar文件拷贝到resin3mydomainWEB-INFlib 目录下,然后拷贝hibernate2lib 目录下必须的jar文件也拷贝到resin3mydomainWEB-INFlib 目录下。如果你不是很清楚哪些包是你所需要的,可以参看hibernate2libREADME.txt文件,或者,再简单一点,我们将hibernate2lib 目录下的所有jar文件都拷贝到resin3mydomainWEB-INFlib 目录下。5.

4、 现在我们开始配置resin的jdbc数据库连接池。修改resin3confresin.conf文件a) 搜索webapps,将webapps替换为我们自定义的应用目录mydomain。b) 查找元素,取消该元素的注释状态,该文件的注释采用的是html风格的注释方式。c) 将元素修改为如下形式jdbc/mysqljdbc:mysql:/192.162.125.3:3306/mysqlroot1234567882030s如此resin的jdbc连接池配置完成。6. 将hibernate2src目录下的hibernate.properties、log4j.properties、oscache.pr

5、operties文件拷贝到resin3 mydomainWEB-INFclasses目录下。7. 由于我们使用的是mysql数据库,所以修改hibernate.properties文件中关于mysql部分的配置,并注释掉原默认的HypersonicSQL配置。注释配置就是在语句前加 # 符号。如:#hibernate.dialect net.sf.hibernate.dialect.HSQLDialect下面是一个典型的mysql配置:hibernate.dialect net.sf.hibernate.dialect.MySQLDialecthibernate.connection.driv

6、er_class org.gjt.mm.mysql.Driverhibernate.connection.driver_class com.mysql.jdbc.Driverhibernate.connection.url jdbc:mysql:/192.162.125.3:3306/mydbhibernate.connection.username roothibernate.connection.password 12345678我们需要修改的就是下面3行:url是指jdbc连接描述符,格式为jdbc:mysql:/数据库IP:端口号/数据库名username是指用于登陆该数据库的用户名p

7、assword该用户密码8. 将hibernate和resin的数据库连接池绑定。在目录里创建一个hibernate.cfg.xml文件,文件内容如下!DOCTYPE hibernate-configurationPUBLIC -/Hibernate/Hibernate Configuration DTD/ENjava:comp/env/jdbc/mysqltruenet.sf.hibernate.dialect.MySQLDialect该元素告诉hibernate使用resin中定义的jndi来连接数据库, 子元素用于描述每一个映射数据库表的配置文件路径,其声明了User.hbm.xml是一

8、个Hibernate XML映射文件,对应持久化类User。这个文件包含了把POJO类映射到数据库表(或多个数据库表)的元数据。我们稍后就回来看这个文件。让我们先编写这个POJO类,再看声明它的映射元数据。9. 在mysql中建立user表该表的格式如下:User_id Password Nick_name E_mail1 6666 hamal hamal2 6666 vampire vampire3 6666 ande ande在resin3 mydomainWEB-INFclasses目录下分别新建3个java文件:Test.java、HibernateUtil.java、User.jav

9、a。HibernateUtil.java源代码如下:该类是一个辅助类,用于获得一个静态的SessionFactory,SessionFactory负责一个数据库,也只对应一个XML配置文件(hibernate.cfg.xml)。import net.sf.hibernate.*;import net.sf.hibernate.cfg.*;public class HibernateUtil private static final SessionFactory sessionFactory;static try sessionFactory = new Configuration().conf

10、igure().buildSessionFactory(); catch (HibernateException ex) throw new RuntimeException(Exception building SessionFactory: + ex.getMessage(), ex);public static final ThreadLocal session = new ThreadLocal();public static Session currentSession() throws HibernateException Session s = (Session) session

11、.get();/ Open a new Session, if this Thread has none yetif (s = null) s = sessionFactory.openSession();session.set(s);return s;public static void closeSession() throws HibernateException Session s = (Session) session.get();session.set(null);if (s != null)s.close(); User.java 源代码如下:Hibernate让普通的Java对

12、象(Plain Old Java Objects ,就是POJOs,有时候也称作Plain Ordinary Java Objects)变成持久化类。一个POJO很像JavaBean,属性通过getter和setter方法访问,对外隐藏了内部实现的细节。public class User private Integer id;private String nick;private String password ;private String email;public User() public Integer getId() return id;public void setId(Integ

13、er id) this.id = id;public String getNick() return nick;public void setNick(String nick) this.nick = nick;public String getPassword() return password;public void setPassword(String password) this.password = password;public String getEmail() return email;public void setEmail(String email) this.email

14、= email; Test.java 源代码如下:import javax.naming.*;import net.sf.hibernate.*;import java.util.*;public class Testvoid Test()public static void insert()try Session hSession = HibernateUtil.currentSession();Transaction tx= hSession.beginTransaction();User newp = new User();Integer id = new Integer(4);newp

15、.setId(id);newp.setNick(love);newp.setPassword(123);newp.setEmail(test);hSession.save(newp);mit();HibernateUtil.closeSession();catch(Exception e)e.printStackTrace(); 10. 编写Hibernate XML映射文件在resin3 mydomainWEB-INFclasses目录下新建User.hbm.xml文件,文件内容如下:!DOCTYPE hibernate-mappingPUBLIC -/Hibernate/Hibernate

16、 Mapping DTD/EN简单说明:元素中的name属性代表的是User类的全路径名(即包名+类名的形式),table属性代表的是该User类映射的数据库表名。元素代表该表的主键,name属性代表在User类中对应的类属性名。元素代表该id属性对应的数据库user表中的user_id字段。11. 界面测试:我们在resin3mydomain目录下新建一个test.jsp文件如下: This is a test! This is a test!12. 测试好了,现在所有的准备工作都已经做完了,开始测试看看。我们启动rensin服务器,启动文件为resin3binhttpd.exe,双击该文件

17、即可。在测试前我们看到的mysql中user表的内容如下。User_id Password Nick_name E_mail1 6666 hamal hamal2 6666 vampire vampire3 6666 ande ande现在我们打开IE,在地址栏中输入http:/localhost:8080/test.jsp当界面上正常显示出This is a test!之后,我们再查看数据库内容如下:User_id Password Nick_name E_mail1 6666 hamal hamal2 6666 vampire vampire3 6666 ande ande4 123 love test恭喜,你已经完成了本次示例!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1