前面并没有使用数据库,这里使用mysql数据库,在前面的基础上使用hibernate,首先可以先试试hibernate单独怎么使用。
Hibernate的单独使用:
(1)首先导入Hibernate的包:
<!-- 添加Hibernate依赖 --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>3.6.5.Final</version> </dependency> <!-- MySQL database driver --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.9</version> </dependency>
(2)配置Hibernate配置文件:创建hibernate.cfg.xml,内容如下,主要是告诉Hibernate怎么连数据库,Hibernate采用关系对象映射,所以需要配置关系映射表,在mapping中:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory > <!-- local connection properties --> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/example</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.username">mzuser</property> <property name="hibernate.connection.password">123456</property> <!-- property name="hibernate.connection.pool_size"></property --> <!-- dialect for MySQL --> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.show_sql">true</property> <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property> <mapping resource="com/mz/bean/UserBean.hbm.xml"/> </session-factory> </hibernate-configuration>
(3)创建UserBean类(实例化对象对应数据库里的关系,即表)
package com.mz.bean; /** * Created by hadoop on 15-9-9. */ public class UserBean { private int userid; private String username; private String password; private String area; private String deptrole; public int getUserid() { return userid; } public void setUserid(int userid) { this.userid = userid; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getArea() { return area; } public void setArea(String area) { this.area = area; } public String getDeptrole() { return deptrole; } public void setDeptrole(String deptrole) { this.deptrole = deptrole; } }
(4)关系映射表:创建UserBean.hbm.xml
<?xml version="1.0" encoding='UTF-8'?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" > <hibernate-mapping package="com.mz.bean"> <class name="UserBean" table="CmsUser"> <id name="userid" type="int"> <column name="userid"></column> <generator class="increment"/> </id> <property name="username" type="java.lang.String"> <column name="username" length="20"></column> </property> <property name="password" type="java.lang.String"> <column name="password" length="20"></column> </property> <property name="area" type="java.lang.String"> <column name="area" length="10"></column> </property> <property name="deptrole" type="java.lang.String"> <column name="deptrole" length="10"></column> </property> </class> </hibernate-mapping>
(5)接下来就是创建数据库,在数据库中建立以下表:
+----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+ | userid | int(8) | NO | PRI | NULL | auto_increment | | username | varchar(20) | NO | | NULL | | | password | varchar(20) | YES | | NULL | | | area | varchar(10) | YES | | NULL | | | deptrole | varchar(10) | YES | | NULL | | +----------+-------------+------+-----+---------+----------------+
(6)测试:首先创建SessionFactory工具类,Hibernate创建连接:
package com.mz.utils; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; /** * Created by hadoop on 15-9-9. */ public class SessionUtil { private static final ThreadLocal<Session> sm = new ThreadLocal<Session>(); private static final SessionFactory sessionFactory; static { sessionFactory = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory(); } public static Session getSession(){ Session session = sm.get(); if(session == null) { session = sessionFactory.openSession(); sm.set(session); } return session; } public static void closeSession(){ Session session = sm.get(); sm.set(null); if(session != null){ session.close(); } } }
测试类:
package com.mz.bean; import com.mz.utils.SessionUtil; import org.hibernate.Session; import org.junit.Test; /** * Created by hadoop on 15-9-9. */ public class UserBeanTest { @Test public void testHibernateSession(){ SessionUtil.getSession(); SessionUtil.closeSession(); } @Test public void testUserBean(){ Session session = SessionUtil.getSession(); org.hibernate.Transaction transaction = session.beginTransaction(); UserBean userBean = new UserBean(); userBean.setUsername("mzuser"); userBean.setPassword("123456"); userBean.setArea("北京"); userBean.setDeptrole("销售"); session.save(userBean); transaction.commit(); SessionUtil.closeSession(); } }
执行测试类,查询数据库,能够成功插入数据。
相关内容
(1)Web开发:Struts2 Spring Hibernate整合(一)——Struts2的使用
相关推荐
精通Eclipse整合Web开发——Struts,Spring,Hibernate,JBPM 图书馆下载的,很不容易。 不是很清晰,如果介意的,请不要下载,不要拍砖。 总共有三部分。
比较流行的一本书,在公司内很受欢迎 比较实用 下半部分,需与上半部分放在一起解压。
以下章节源码[03] [04] [05] [08] [10] [11] [12] [13] [14] [15] [16]
精通Eclipse整合Web开发——Struts,Spring,Hibernate,JBPM 图书馆下载的,不是很清晰,如果介意的,请不要下载,不要拍砖。 总共有三部分。
- **分层架构**:系统采用经典的三层架构,包括表示层(Web层,使用Struts2)、业务逻辑层(Service层,使用Spring)和数据访问层(DAO层,使用Hibernate)。每个层都有明确的职责,使得代码结构清晰,易于维护。 ...
轻量级 J2EE 企业应用实战:Struts+Spring+Hibernate 整合开发
如何整合这4个开源框架进行J2EE开发,如何基于MyEclipseIDE进行开发,J2EE开发的基础和基础环境搭配,Struts、Hibernate、Spring、Eclipse四个框架的使用,如何整合Struts+Hibernate+Spring+Eclipse框架。...
精通Java EE:Eclipse Struts2 Hibernate Spring整合应用案例代码和数据库压缩包6
Java Web整合开发实战--基于Struts 2+Hibernate+Spring.pdf 1章 Web的工作机制 2章 搭建Java Web开发环境 3章 JSP及其相关技术 2篇 表现层框架Struts技术 4章 Struts快速上手 5章 解密Struts之核心文件 6章 ...
收集的Java Web整合开发实战:基于Struts 2+Hibernate+Spring-源代码,看到其他人下载币要的太多,给大家分享一下。 不是很全,但可以拿来参考了。 由于大小限制,还有另外一个包······
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自负责不同的职责:Struts2作为MVC框架处理请求和展示,Spring提供依赖注入和事务管理,Hibernate则作为ORM框架处理数据库操作。将这三个框架整合在...
Struts2、Spring4和Hibernate4是Java Web开发中的三大主流框架,它们分别负责MVC模式中的表现层、业务层和服务层。这个最新的项目系统整合了这三个框架,旨在提供一个高效、灵活且易于维护的开发环境。下面将详细...
整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...
学习Spring Struts Hibernate 整合开发必看的书
J2EE 企业应用实战:Struts Spring Hibernate 整合开发.part2
struts2 spring hibernate 整合过程 希望能对你有帮助,谢谢