`
舟舟同学
  • 浏览: 45438 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

hibernate开发1--使用hibernate5.1.0保存数据到数据库

阅读更多

从hibernate5.x.x开始对获取SessionFactory的方式做了修改,按照原来的代码获取不到SessionFactory了,hibernate5.x.x获取SessionFactory的代码如下:

final StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
  .configure() // configures settings from hibernate.cfg.xml
  .build();
    sessionFactory = new MetadataSources( registry ).buildMetadata().buildSessionFactory();
    Session session =sessionFactory.openSession();

hibernate最新版本(目前最新版本为hibernate5.1.0)的下载地址为:http://hibernate.org/

一、hibernate环境的搭建:hibernate环境搭建还算比较简单的,其主要的jar包为hibernate-core-5.1.0.Final.jar,当然,我这里强烈建议大家把下载好的hibernate文件中lib目录下required里面的所有jar文件都拷贝到自己项目WEB-INF/lib目录下面,否则在调试的的时候总会遇到各种找不到类的错误问题。

二、新建hibernate.cfg.xml文件,其作用为配置数据库基本连接信息,配置好以后我们就不需要再程序中写连接数据库的代码了,其配置如下:

<!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>
 <property name="connection.driver_class">
  com.mysql.jdbc.Driver
 </property>
 <property name="connection.username">你的mysql数据库登陆名</property>
 <property name="connection.password">你的mysql数据库登陆密码</property>
 <property name="connection.url">
  jdbc:mysql:///TestHibernate?createDatabaseIfNotExist=true<!--如果数据库不存在,则自动创建数据库
--> </property>
 <property name="hbm2ddl.auto">update</property>
 <property name="dialect">
  org.hibernate.dialect.MySQLDialect
 </property>
 <mapping resource="cn/test/Bean/User.hbm.xml" />
</session-factory>
</hibernate-configuration>

三、创建User.java类,代码如下:

package cn.test.Bean;
public class User {
 private long id;
 private String name;
 private String age;
 private String position;
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getAge() {
  return age;
 }

 public void setAge(String age) {
  this.age = age;
 }

 public String getPosition() {
  return position;
 }

 public void setPosition(String position) {
  this.position = position;
 }

 public long getId() {
  return id;
 }

 public void setId(long id) {
  this.id = id;
 }
}

四、创建User.hbm.xml映射文件,该文件的作用是自动在数据库中建表

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="cn.test.Bean.User" table="User">
<id name="id">
<generator class="native"></generator>
</id>
<property name="name"></property>
<property name="age"></property>
<property name="position"></property>
</class>
</hibernate-mapping>

好了,到这里hibernate的需要基本配置就ok了。

五,创建一个类,保存一条数据至数据库。

package cn.test.hibernate;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.junit.Test;

import cn.test.Bean.User;

public class TestSave {
 private SessionFactory sessionFactory;
 @Test
 public void SaveUser()
 {
  final StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
  .configure() // configures settings from hibernate.cfg.xml
  .build();
     sessionFactory = new MetadataSources( registry ).buildMetadata().buildSessionFactory();
     Session session =sessionFactory.openSession();
  User user =new User();
  user.setAge("19");
  user.setName("李四");
  user.setPosition("学生");
  session.beginTransaction();//开启事务
  session.save(user);
  session.getTransaction().commit();//提交事务
  session.close();
  System.out.println("保存成功!");
 }
}

大家主要要注意的就是在 final StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
  .configure() // configures settings from hibernate.cfg.xml
  .build();中configure()默认读取的hibernate.cfg.xml路径为项目的src目录下的文件,如果hibernate.cfg.xml
没有直接放在项目src目录下,则需在configure() 中进行配置。否则,会找不到hibernate.cfg.xml
,另外,要使得类中的方法可以单独执行需要添加单元测试@Test。

0
6
分享到:
评论

相关推荐

    spring4.0整合hibernate5.1.0.Final+mysql5

    综上所述,"Spring4.0整合hibernate5.1.0.Final+mysql5"是一个典型的Java后端开发整合示例,涵盖了Spring框架、ORM工具和数据库的协同工作。通过这个过程,开发者可以学习到如何构建高效、可维护的数据访问层,为...

    struts2.3.37+spring-framework-5.1.0+hibernate-release-5.3.1.Final

    4. 整合Spring和Hibernate:使用Spring管理Hibernate的SessionFactory,实现数据访问层(DAO)接口,通过Spring的AOP进行事务管理。 5. 测试和调试:确保各个框架之间的协作无误,进行单元测试和集成测试,确保应用...

    Hibernate 核心类库

    `jandex-2.0.0.Final.jar`是JetBrains开发的元数据索引库,用于快速获取Java类的元数据,这对于Hibernate在运行时理解和使用注解非常关键。 `hibernate-jpa-2.1-api-1.0.0.Final.jar`包含了Java Persistence API...

    JSF+Spring+Hibernate小例子

    基于网上很多朋友在问JSF+Spring+Hibernate的使用方法,于是抽空写了个小例子希望大家提出宝贵意见。 采用DBUnit测试 mysql数据库脚本: 新建test数据库,初始化脚本 create table tt(id int primary key,name ...

    jboss-5.1.0.GA 下载地址

    JBoss AS 5.1.0.GA,全称JavaBoss Application Server,是Red Hat公司开发的一款开源且免费的企业级Java应用服务器,基于Java EE(Enterprise Edition)5规范。这个版本发布于2009年,是JBoss AS 5系列的重要里程碑...

    最新SSH框架(structs2.2.24.1,spring4.2.4,hibernate5.1.0)

    Hibernate5.1.0版本引入了一些新特性,如对JPA 2.2的支持、更好的多数据源支持、性能提升等。在SSH框架中,Hibernate负责将Java对象与数据库表进行映射,使得开发者可以通过对象操作来实现数据库的操作,降低了...

    Java实现工作流所需jar包

    - **mysql-connector-java-x.x.x.jar**(或其他数据库驱动):如果你使用MySQL作为数据库,需要这个jar包连接到数据库。 - **slf4j-api-1.x.x.jar 和 slf4j-log4j12-1.x.x.jar**:日志框架SLF4J的API和适配器,用于...

    创建hibernate的连接池及封装bean类的方式(图解)

    通过使用Hibernate,开发者可以更加高效地进行数据库操作,同时也能更好地管理数据库连接资源。本文将详细介绍如何在Java中创建Oracle数据库的连接池以及如何封装Bean类的方法。 #### 二、创建Oracle数据库连接池 ...

    官方原版源码spring-framework-5.1.0.RELEASE.zip

    5. **Spring JDBC**和**Spring ORM**:提供了数据库操作的支持,包括JDBC抽象层和对ORM框架如Hibernate、MyBatis等的集成。 6. **Spring Web**:包含用于Web开发的模块,如MVC(Model-View-Controller)框架,支持...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解

    Hibernate是一个开放源码的对象关系映射(ORM)框架,用于将面向对象的模型映射到传统的关系型数据库中。Hibernate3.3.1版本引入了许多改进,包括更好的性能优化和更丰富的注解支持,允许开发者以声明式的方式定义...

    Ext+struts2.1.6+spring2+hibernate3的jar包

    - `mysql-connector-java-5.1.0-bin.jar`:MySQL的JDBC驱动,用于连接到MySQL数据库。 - `antlr-2.7.6.jar`:ANTLR是一个解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件。 - `standard.jar`:...

    Java框架Bootstrap、HTML5、jQuery、Spring MVC、Hibernate、向导、验证、UI组件、日历、相册、时间轴

    - Hibernate 4.3.8:作为数据持久层,简化数据库操作。 - Hibernate Search 5.1.0:集成全文检索功能。 - Ehcache 2.9.0:作为二级缓存,提升系统性能。 - Quartz 2.2.1:实现定时任务调度。 - JUnit 4.12:...

    SSH最新框架整合(经典不容错过)

    本文档将通过一个实际项目来详细介绍如何使用Struts2.1.6、Spring2.5.6以及Hibernate3.3.1版本构建一个全注解式的开发环境。 #### 二、开发环境搭建 在开始之前,我们需要确保拥有以下开发环境: - **JDK**: 版本...

    SpringMVC、Mybatis、Hibernate、Bootstrap、jQuery、HTML5、SpringSecurity、Lucene、Ehcache

    Hibernate Search 5.1.0用于全文检索,增强了对数据搜索的能力。Ehcache 2.9.0作为二级缓存,显著提升了系统的性能。Lucene 4.10.4和Quartz 2.2.1则用于定时生成索引,支持定期任务执行。JUnit 4.12是单元测试框架,...

    Idea+maven搭建SSH(struts2+hibernate5+spring5)环境的方法步骤

    在本文中,我们将详细介绍如何使用IntelliJ IDEA (Idea) 和 Maven 来构建一个基于SSH(Struts2 + Hibernate5 + Spring5)的开发环境。这个环境将为Java Web项目提供一个强大的基础架构,方便进行业务逻辑处理、数据...

    帆软创建审批流程.rar

    综合这些组件,我们可以看到,这个压缩包旨在提供一个完整的FineReport审批流程开发环境,从数据连接(Druid)、数据库操作(Hibernate、MyBatis)、XML处理(Xalan、XMLBeans)、流程引擎(Activiti)到结果输出...

    springmvc+spring+mybatis集成框架的环境搭建

    这里推荐使用 Druid 作为数据库连接池,并通过 Spring 的配置文件来管理数据源和其他组件的配置。 **1. Druid 连接池:** ```xml &lt;groupId&gt;com.alibaba&lt;/groupId&gt; &lt;artifactId&gt;druid &lt;version&gt;1.1.10 ``` **...

Global site tag (gtag.js) - Google Analytics