图文教你整合最新版本搭建SSH框架之二:hibernate(非常详细)
2017-04-08 18:12
465 查看
SSH框架搭建
由于配置过程会使用到很多图片,如果都写在一篇的话,会显得过于冗长,因此搭建过程分为几个博文来写,最终的框架项目我放到整合的那一篇博文中配置hibernate
1.首先找到官网,百度输入hibernate下载搜索即可2.选择最新版本的stable 5.2.9.Final点击下载即可
3.下载完后我们得到一个文件包
4.另外,我们还需要下载mysql-connector,这个可以百度搜索mysql jar
然后选择第二个下载即可
4.打开我们的之前配置spring的Eclipse项目,在WEB-INF下->lib下创建一个文件夹hibernate-5.2.9和mysql-connector-5.1.41,将我们之前下载的文件包下的required文件夹下的全部jar复制到hibernate-5.2.9下面,并将mysql-connector文件放到我们项目的mysql-connector-5.1.41下面,接着和spring配置一样需要将这些jar配置到项目中
5.至此jar配置完成,接下来我们建立一个数据库webdb,并在该数据库下面建立一个表user
hibernate需要一个配置文件hibernate.cfg.xml,我们在之前下载的文件包下搜索hibernate.cfg.xml,选择第二个文件打开,得到一个配置文件模板
对模板加以修改,src下新建hibernate.cfg.xml,将修改后的内容复制过去
原先模板为:
<?xml version='1.0' encoding='utf-8'?> <!-- ~ Hibernate, Relational Persistence for Idiomatic Java ~ ~ License: GNU Lesser General Public License (LGPL), version 2.1 or later. ~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. --> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- Database connection settings --> <property name="connection.driver_class">org.h2.Driver</property> <property name="connection.url">jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1;MVCC=TRUE</property> <property name="connection.username">sa</property> <property name="connection.password"></property> <!-- JDBC connection pool (use the built-in) --> <property name="connection.pool_size">1</property> <!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.H2Dialect</property> <!-- Disable the second-level cache --> <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property> <!-- Echo all executed SQL to stdout --> <property name="show_sql">true</property> <!-- Drop and re-create the database schema on startup --> <property name="hbm2ddl.auto">create</property> <!-- Names the annotated entity class --> <mapping class="org.hibernate.tutorial.annotations.Event"/> </session-factory> </hibernate-configuration>
修改后为:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- Database connection settings --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost/webdb?characterEncoding=UTF8</property> <property name="connection.username">root</property> <property name="connection.password">root</property> <!-- JDBC connection pool (use the built-in) --> <property name="connection.pool_size">1</property> <!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!-- Disable the second-level cache --> <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property> <!-- Echo all executed SQL to stdout --> <property name="show_sql">true</property> <!-- Drop and re-create the database schema on startup --> <!-- 自动创建|更新|验证数据库表结构,如果不需要的话设为none最好,如果发现数据库表丢失就检查该配置 --> <property name="hbm2ddl.auto">none</property> <!-- 指定映射文件 --> <mapping resource="mapping.xml"/> </session-factory> </hibernate-configuration>
8.在src下新建一个包pers.zzf.domain(用来存放JavaBean),在下面建立一个User.java,对应我们之前建立的数据库表,内容如下
package pers.zzf.domain; public class User { private String name; private String password; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
9.在src下新建mapping.xml,内容如下(这个可以在hibernate文件包中搜索Event.hbm.xml,找到相应的模板并做修改)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <!-- 对应我们之前创建的数据库表 --> <class name="pers.zzf.domain.User" table="user"> <id name="name" column="name"></id> <property name="password" column="password"/> </class> </hibernate-mapping>
10.在pers.zzf.test下新建一个HibernateTest.java(其中获得SessionFactory的方法是参考官方文档所写的),内容如下
package pers.zzf.test; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.boot.MetadataSources; import org.hibernate.boot.registry.StandardServiceRegistry; import org.hibernate.boot.registry.StandardServiceRegistryBuilder; import pers.zzf.domain.User; public class HibernateTest { //官方文档中获得SessionFactory的一种方式 private static SessionFactory getSessionFactory() { SessionFactory sessionFactory = null; //默认加载地址是在src下搜索hibernate.cfg.xml StandardServiceRegistry registry = new StandardServiceRegistryBuilder().configure().build(); try { sessionFactory = new MetadataSources(registry).buildMetadata().buildSessionFactory(); } catch (Exception e) { e.printStackTrace(); StandardServiceRegistryBuilder.destroy(registry); } return sessionFactory; } public static void main(String... args) { // 创建一个User对象 User user = new User(); // 设置属性值 user.setName("ZZF"); user.setPassword("ZZF"); // 获得session Session session = getSessionFactory().openSession(); Transaction transaction = null; try { // 开始事务 transaction = session.beginTransaction(); // 保存 session.save(user); // 提交事务 transaction.commit(); System.out.println("保存成功"); } catch (Exception e) { // 如果发生异常则进行事务回滚 transaction.rollback(); } finally { session.clear(); } } }
11.运行项目后可以到数据库中查看,发现新增了一行数据
12.至此项目结构如下()
相关文章推荐
- 图文教你整合最新版本搭建SSH框架之三:struts2(非常详细)
- 图文教你整合最新版本搭建SSH框架之一:spring(非常详细)
- 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
- android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
- 全网最详细的最新稳定OSSEC搭建部署(ossec-server(CentOS7.X)和ossec-agent(CentOS7.X))(图文详解)
- [推荐]图文详细,AndroidStudio_2016.10.19最新版本安装指南与android项目创建
- Spring3整合Hibernate4 Annotation详细图文教程
- 最新版本Spring、Hibernate、Struts框架整合
- android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解
- 全网最详细的最新稳定OSSEC搭建部署(ossec-server(CentOS6.X / 7.X)和ossec-agent(Windows7 / 8 / 10))(图文详解)
- android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录
- android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录
- 最新版本Spring、Hibernate、Struts框架整合
- 最新版本Spring、Hibernate、Struts框架整合 (2014-10-26 20:22:09)
- Spring (MVC) 4.3.7 Mybatis3.4.2 (最新版本)整合详细介绍
- 全网最详细的最新稳定OSSEC搭建部署(ossec-server(CentOS6.X)和ossec-agent(CentOS6.X))(图文详解)
- 非常详细的Hibernate环境搭建【图解教程】及简单使用
- 最新版本Spring、Hibernate、Struts框架整合
- CDH版本大数据集群下搭建的Hue详细启动步骤(图文详解)
- 最新版本Spring、Hibernate、Struts框架整合