在Netbeans中使用Struts2.0+Spring2.5+Hibernate框架(一)
2013-10-25 16:18
459 查看
软件需求:
1、1、JDK1.62、Netbeans6.1,下载并安装Struts
2.0插件,Hibernate
3.5支持以及库文件的插件
3、MySQL5数据库及JDBC驱动
4、Struts+Spring整合方案库 JDBC驱动和整合库在这里。
实验步骤:
1、在MySQL中建立数据库sshdemo,执行以下脚本:
SETFOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for user -- ---------------------------- CREATE TABLE `user` ( `userId` bigint(20) NOT NULL auto_increment, `userName` varchar(20) NOT NULL, `password` varchar(30) NOT NULL, PRIMARY KEY (`userId`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ------------------------------ -- Records -- ---------------------------- INSERT INTO `user` VALUES ('1', 'mg', '123');
2、在Netbeans6.1中建立Web工程,在选择框架时选择Spring
Web MVC2.5及Struts2.0和Hibernate,命名为SSHDemo,如下图所示:
点击工程右键-属性-库-添加Jar文件,加入ssh_lib.zip包中的两个包。
3、在源包中新建包po,dao,service,action四个包,分别用来放置ORM映射、数据库操作、业务逻辑以及Struts的Action。
4、建立Model,在po包中新建类User,代码如下:
public class User { private String name; private long id; private String password; }
单击右键,选择“重构”-“封装字段”,选择所有字段进行封装,生成get和set方法。
5、建立Model和数据库的映射。生成在源包中右键单击po包,新建-其他-Hibernate-HibernateConfiguration
File,如下图所示:
点击下一步,命名为hibernate1.cfg,点击下一步,在database connection中把下拉框拉到最下面,点击“新建数据库连接”,如下图所示:
注意用户名和密码可以自己指定。最后点击完成,在源包的缺省包中就会生成hibernate1.cfg.xml的Hibernate配置文件:
<?xml version="1.0"encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/HibernateConfiguration DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory name="session1"> <propertyname="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <propertyname="hibernate.connection.url">jdbc:mysql://localhost:3306/sshdemo</property> <propertyname="hibernate.connection.username">root</property> <propertyname="hibernate.connection.password">root</property> </session-factory> </hibernate-configuration>
在po包中点击右键,选择新建-其他-Hibernate-Hibernate Mapping File,命名为user.hbm,如下配置:
点击完成,生成user.hbm.xml,加入映射关系如下:
<?xml version="1.0"encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class dynamic-insert="false" dynamic-update="false"mutable="true" name="po.User"optimistic-lock="version" polymorphism="implicit"select-before-update="false" table="user"> <id column="userId"name="id"> <generatorclass="identity"/> </id> <property column="userName"name="name" type="string"/> <property column="admin"name="admin" type="integer"/> <propertycolumn="password" name="password"type="string"/> </class> </hibernate-mapping>
6、在Spring IoC容器中定义Hibernate的SessionFactory。打开Web页- WEB-INF – applicationContext.xml,首先加入数据源的定义:
<bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <!--指定连接数据库的驱动--> <propertyname="driverClassName" value="com.mysql.jdbc.Driver"/> <!--指定连接数据库的URL--> <property name="url"value="jdbc:mysql://localhost:3306/sshdemo"/> <!--指定连接数据库的用户名--> <propertyname="username" value="root"/> <!--指定连接数据库的密码--> <propertyname="password" value="root"/> </bean> 然后加入Hibernate的SessionFactory的定义: <bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <propertyname="dataSource" ref="dataSource"/> <propertyname="mappingResources"> <list> <value>po/user.hbm.xml</value> </list> </property> <propertyname="hibernateProperties"> <value>hibernate.dialect=org.hibernate.dialect.MySQLDialect</value> </property> </bean>
Spring的配置文件有强大的提示功能:
7、建立Dao接口及实现。在dao包中建立接口UserDao,代码如下:
public interface UserDao { void save(User user) throws Exception; User getUser(long userId); User getUser(String userName); }
建立实现类UserDaoImpl,代码如下:
package dao; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import po.User; /** * * @author Administrator */ public class UserDaoImpl extendsHibernateDaoSupport implements UserDao{ public void save(User user) throws Exception { try { getHibernateTemplate().save(user); } catch(Exception err) { throw err; } } public User getUser(longuserId) { return(User)getHibernateTemplate().get(User.class, userId); } public UsergetUser(String userName) { return(User)getHibernateTemplate().find("from User as u where u.name = ?",userName).get(0); } }
该类继承于org.springframework.orm.hibernate3.support.HibernateDaoSupport,以方便地使用getHibernateTemplate()获得Hibernate支持。如getUser方法,可以用getHibernateTemplate()方法获得工厂对象sessionFactory,调用find方法可以通过HQL语句来查找对象,而不必再编写复杂的SQL语句。对实体的其他操作入插入操作则只需调用save方法。由于Dao类必须调用sessionFactory,因此必须通过Spring
IoC容器为Dao类注入sessionFactory。在applicationContext.xml中添加以下配置:
<bean id="userDao" class="dao.UserDaoImpl"> <propertyname="sessionFactory"> <refbean="sessionFactory"></ref> </property> </bean>
至此,OR映射工作完成。下一节将介绍页面层技术,包括国际化方案。
相关文章推荐
- 在Netbeans中使用Struts2.0+Spring2.5+Hibernate框架(二)
- 在Netbeans中使用Struts2.0+Spring2.5+Hibernate框架(一)
- 在Netbeans中使用Struts2.0+Spring2.5+Hibernate框架(二)
- 在Netbeans中使用Struts2.0+Spring2.5+Hibernate框架(一)
- 在Netbeans中使用Struts2.0+Spring2.5+Hibernate框架(二)
- 在Netbeans中使用Struts2.0+Spring2.5+Hibernate框架(一)
- NetBeans6.1下搭建Struts2.0+Spring2.5+Hibernate3开发环境
- struts2.0、hibernate3、spring2.5框架整合流程实例
- struts1.2 + spring2.5 + hibernate3.2框架搭建二之配置文件
- 框架整合之--------spring2.5+struts2.1+hibernate3.6
- 详细解读Spring2.5 +Struts1.3 框架(使用Spring声明式事物管理和springjjdbc模板)
- Struts2.0 + Spring2.5 + Hibernate3.3开发环境的配置(1)
- struts1.2 + spring2.5 + hibernate3.2框架搭建三之后台代码
- 使用struts、hibernate、spring进行框架整合流程详细说明(完整版)附:开发规范
- struts1.2 + spring2.5 + hibernate3.2框架搭建四之前台页面
- struts1.2 + spring2.5 + hibernate3.2框架搭建一之工程总览
- 使用JUnit在struts+spring+hibernate框架环境下进行单元测试
- 使用JUtil在struts+spring+hibernate框架环境下进行单元测试
- 使用struts、hibernate、spring进行框架整合流程详细说明(完整版)
- 使用struts、hibernate、spring进行框架整合流程详细说明