1、如何应用MyEclipse开发工具实现基于Hibenate框架的J2EE Web应用系统的开发第2部分如何应用MyEclipse开发工具实现基于Hibenate框架的J2EE Web应用系统的开发(第2/2部分)6、在示例项目中连接目标数据库系统(1)右击所产生的profile名称(2)在弹出的对话框中进行设置,并进行与数据库连接-但要保证数据库服务器已经启动了(3)如果连接成功,将出现下面的内容(4)产生Hibenate 的数据库表的mapping文件-右击我们的数据库表(5)将产生出下面的对话框,并在对话框中进行设置,包名称为com.px1987.struts.hibernate,同时取消
2、“Create Abstract Class”的选项。(6)点击“next”按钮,将出现下面的内容,然后对反向工程的内容进行设置-选择主键id的产生方式为increment方式。(7)点击“next”按钮,将出现下面的内容,然后对PO类进行设置输入类名称为com.px1987.struts.hibernate.UserInfoPOJO,同时主键的产生方式为increment(因为我们的数据库表中主键为int类型)。(8)然后再分别对PO类中的各个属性与数据库表中的字段的对应关系进行设置userName、userPassWord、userDepartment、userAdminLevel、dep
3、artAdminLevel、userImage、registerTime、id。(9)最后点击“Finish”按钮,将创建出UserInfoPOJO.hbm.xml文件和对应的持久类UserInfoPOJO.java。同时出现警告提示-不用管它!7、最终的配置文件的代码示例!DOCTYPE hibernate-mapping PUBLIC -/Hibernate/Hibernate Mapping DTD 3.0/EN 注意:对上面的id标签添加一个unsaved-value=null属性8、创建出PO类com.px1987.struts.hibernate.UserInfoPOJO下面为其代
4、码,并对代码加以修改-请见黑体部分package com.px1987.struts.hibernate;public class UserInfoPOJO implements java.io.Serializable private Integer id; private String userName; private String userPassWord; private String userDepartment; private Integer userAdminLevel; private Integer departAdminLevel; private String use
5、rImage; private String registerTime; public UserInfoPOJO() public UserInfoPOJO(String userName, String userPassWord, String userDepartment, Integer userAdminLevel, Integer departAdminLevel, String userImage, String registerTime) this.userName = userName; this.userPassWord = userPassWord; this.userDe
6、partment = userDepartment; this.userAdminLevel = userAdminLevel; this.departAdminLevel = departAdminLevel; this.userImage = userImage; this.registerTime = registerTime; public Integer getId() return this.id; private void setId(Integer id) this.id = id; public String getUserName() return this.userNam
7、e; public void setUserName(String userName) this.userName = userName; public String getUserPassWord() return this.userPassWord; public void setUserPassWord(String userPassWord) this.userPassWord = userPassWord; public String getUserDepartment() return this.userDepartment; public void setUserDepartme
8、nt(String userDepartment) this.userDepartment = userDepartment; public Integer getUserAdminLevel() return this.userAdminLevel; public void setUserAdminLevel(Integer userAdminLevel) this.userAdminLevel = userAdminLevel; public Integer getDepartAdminLevel() return this.departAdminLevel; public void se
9、tDepartAdminLevel(Integer departAdminLevel) this.departAdminLevel = departAdminLevel; public String getUserImage() return this.userImage; public void setUserImage(String userImage) this.userImage = userImage; public String getRegisterTime() return this.registerTime; public void setRegisterTime(Strin
10、g registerTime) this.registerTime = registerTime; public boolean equals(Object other) /该方法为对对象进行比较判断用 if (this = other) return true; if (! (other instanceof UserInfoPOJO) return false; return true; 注意:上面的黑体是我们修改的部分9、MyEclipser工具也会对hibernate.cfg.xml文件进行修改,内容为的下面的内容-请见黑体部分(1)配置文件的代码示例!DOCTYPE hibernat
11、e-configuration PUBLIC -/Hibernate/Hibernate Configuration DTD 3.0/EN jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=WebStudyDB org.hibernate.dialect.SQLServerDialect com.microsoft.jdbc.sqlserver.SQLServerDriver sa 1234 true (2)也可以通过其可视化界面来看到。(3)注意编译后,将自动将前面的各个*.xml拷贝到WEB-INF/classes所在的目录下。10
12、、在项目的DAO组件类中通过Hibernate来进行数据库访问操作但首先要在项目中添加数据库的JDBC驱动程序。(1)编程DAOOperatorDBBean组件类中的HibernateSelectDBData方法加以功能实现package com.px1987.struts.dao;import java.util.*;import java.sql.*;import javax.sql.*;import org.hibernate.*;import com.px1987.struts.hibernate.*;public class DAOOperatorDBBean implements
13、DAOInterface /。其它代码 public List HibernateSelectDBData(String HQLStatement) Session session = null; List result=null; try session = HibernateSessionFactory.currentSession(); result=session.createQuery(HQLStatement).list(); catch (HibernateException he) System.out.println(在HibernateSelectDBData方法中出现了错
14、误); finally HibernateSessionFactory.closeSession(); return result; /。其它代码(2)修改UserLoginBean业务功能组件以对前面的基于Hibernate的数据库访问功能方法的调用package com.px1987.struts.model;import javax.sql.*;import java.sql.*;import com.px1987.struts.dao.*;public class UserLoginBean implements UserLoginInterface DataSource dataSo
15、urce=null; public UserLoginBean(DataSource dataSource) super(); this.dataSource=dataSource; /* 该方法为采用Hibernate的API类访问的 */ public boolean doUserLogin(UserInfoEntityBean userInfo) boolean okOrNot=false; String userName=userInfo.getUserName(); String userPassword=userInfo.getUserPassWord(); / 不再需要dataS
16、ource,因为数据库的连接我们直接来自Hibernate的实现 DAOOperatorDBBean daoOperatorDBBean=new DAOOperatorDBBean(); String selectHQL=from UserInfoPOJO userInfo where userInfo.userName =+ userName+ and userInfo.userPassWord=+userPassword+; java.util.List result=daoOperatorDBBean.HibernateSelectDBData(selectHQL); if(result=null)|(result.size()=0) okOrNot=false; else okOrNot=true; return okOrNot; 11、再将本项目部署和重新测试(1)启动测试页面(2)将出现下面成功的提示(3)同时在控制台中也出现Hibernate的下面的提示。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1