eclipse下搭建hibernate5.0环境
- hibernate引入的jar包:hibernate-release-5.0.12.Final.zip
- 数据库驱动:mysql-connector-java-5.1.46
二.安装hibernate插件
打开eclipse,点击help-->eclipse marketplace,如图输入:Hibernate Tools,再点击Goa按钮,找到JBoss Tools

点击install安装

如图选择Hibernate Tools,点击Confrm安装。安装完成后重启eclipse。
三. 创建工程
1.创建新项目hibernateDemo,在工程下建立lib文件夹。打开jar包的目录,导入lib/required下的和数据库的jar包,add to build path

在src下新建文件

点击next,默认文件名,点击next,如图配置数据库信息

选择UTF-8编码方式,点击finish,生成的hibernate.cfg.xml配置文件内容如下
<?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>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.password">a123</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/tb_test</property>
<property name="hibernate.connection.username">sherman</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> </session-factory>
</hibernate-configuration>
注意,把<session-factory name="MySQL">的name属性去掉,否则报org.hibernate.engine.jndi.JndiException异常,在该文件中添加一些配置,如图:
<?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>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.password">a123</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/tb_test</property>
<property name="hibernate.connection.username">sherman</property> <!-- 配置数据库方言 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<!-- 控制台打印sql语句 -->
<property name="show_sql">true</property>
<!-- 格式化sql -->
<property name="format_sql">true</property>
<!--在启动时根据配置更新数据库 -->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- 配置连接池的连接数 -->
<property name="connection.pool_size">20</property> <!-- 注册实体映射类 -->
<mapping class="com.gdut.app.entity.News"/>
</session-factory>
</hibernate-configuration>
在src下新建一个包com.gdut.app.entity,存放持久化类News,News类代码如下
package com.gdut.app.entity; import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table; @Entity
@Table(name="NEWS_INFO")
public class News {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
private String title;
private String content;
public News() {
}
public News(Integer id, String title, String content) {
this.id = id;
this.title = title;
this.content = content;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
@Override
public String toString() {
return "News [id=" + id + ", title=" + title + ", content=" + content + "]";
} }
编写测试类:
package com.gdut.app.entity; import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test; public class BeanTest { @Test
public void beanTest() {
// final StandardServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
// .configure("hibernate.cfg.xml").build();
//
// SessionFactory sf = new MetadataSources(serviceRegistry).buildMetadata().buildSessionFactory();
//两种方式都可以获取SessionFactory
Configuration cfg = new Configuration().configure();
SessionFactory sf = cfg.buildSessionFactory();
Session sess =sf.openSession();
Transaction transaction = sess.beginTransaction();
News n = new News();
n.setContent("在广工毕业");
n.setTitle("毕业季");
sess.save(n);
transaction.commit();
sess.close(); }
}
经过测试成功
或者通过映射文件
在com.gdut.app.entity包下简历一个News.hbm.xml映射配置文件,修改genarator的class属性为active
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2018-5-22 23:45:23 by Hibernate Tools 3.5.0.Final -->
<hibernate-mapping>
<class name="com.gdut.app.entity.News" table="NEWS">
<id name="id" type="java.lang.Integer">
<column name="ID" />
<generator class="native"/>
</id>
<property name="title" type="java.lang.String">
<column name="TITLE" />
</property>
<property name="content" type="java.lang.String">
<column name="CONTENT" />
</property>
</class>
</hibernate-mapping>
在hibernate.cfg.xml中配置
<mapping resource="com/gdut/app/entity/News.hbm.xml"/>
测试验证成功。
整个工程架构如图:

eclipse下搭建hibernate5.0环境的更多相关文章
- 在Eclipse下搭建Android开发环境教程
我们昨天向各位介绍了<在NetBeans上搭建Android SDK环境>,前不久也介绍过<在MyEclipse 8.6上搭建Android开发环境>, 都受到了读者的欢迎.但 ...
- 【转】在Eclipse下搭建Android开发环境教程
本文将全程演示Android开发环境的搭建过程,无需配置环境变量.所有软件都是写该文章时最新版本,希望大家喜欢. 一 相关下载 三 Eclipse配置 (1)Java JDK下载 1 安装andr ...
- 在Eclipse下搭建Hadoop开发环境
在前面的博文中博主展示了如何在虚拟机中搭建Hadoop的单节点伪分布集群,今天给大家介绍一下如何在Eclipse环境中搭建Hadoop的管理和开发环境,话不多说,下面我们就进入正题吧! 1.JDK安装 ...
- Linux中Eclipse下搭建Web开发环境
0. 准备工作 java环境,Linux下基本上都有含开源jdk的库,可直接下载,且不用配置环境变量,当然也可以官网下载后自己配置: Eclipse Neon,注意看清是64位还是32位,下载的应该是 ...
- Linux下搭建.NetCore3.0环境及创建项目
================================================== ================================================= ...
- OSGI企业应用开发(二)Eclipse中搭建Felix运行环境
上篇文章介绍了什么是OSGI以及使用OSGI构建应用的优点,接着介绍了两款常用的OSGI实现,分别为Apache Felix和Equinox,接下来开始介绍如何在Eclipse中使用Apache Fe ...
- 在CentOS下搭建Android 开发环境
在CentOS下搭建Android 开发环境 目录 1.环境搭建 1.1.JDK安装 1.2.Eclipse安装 1.3.ADT安装 1.4.Android SDK安装 1.5.Android NDK ...
- mac os 下搭建android开发环境
mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...
- Mac下搭建php开发环境教程
方案一:原生安装 这篇文章主要介绍了Mac下搭建php开发环境教程,Mac OS X 内置了Apache 和 PHP,这样使用起来非常方便.本文以Mac OS X 10.6.3为例,需要的朋友可以参考 ...
随机推荐
- tvtk管线技术、数据集与数据加载
管线技术也称流水线技术(Pipeline)每个对象只实现相对简单的任务,整个管线进行复杂的可视化处理在tvtk中分为可视化管线和图形管线 可视化管线(Visualization Pipeline):将 ...
- react中需要用到【深度复制】的问题
首先,说一下我所遇到的问题,我所做的项目是用的基于react的antd框架. 一张表格,里面的数据是从后台获取直接渲染,我点击修改按钮,在modal弹框中修改数据,但是没有点击确定,点击取消,发现页面 ...
- Jquery的过滤选择器分为哪几种?
Jquery的过滤选择器分为哪几种? 转载▼ 标签: jquery 过滤选择器 分类 分类: JQuery 所有的过滤选择器分为哪几种: 一.基本过滤选择器(重点掌握下列八个) :first 选取第一 ...
- Spring定时任务(一):SpringTask使用
背景:在日常开发中,经常会用到任务调度这类程序.实现方法常用的有:A. 通过java.util.Timer.TimerTask实现. B.通过Spring自带的SpringTask. C. 通过Spr ...
- 记住这个网站:服务器相关数据统计网站 http://news.netcraft.com/
http://news.netcraft.com/ 需要参考现在服务器相关数据,可以上这个网站. 当然google趋势也是一个可选得备案. 有一个数据统计更全面的: http://w3techs.co ...
- JavaScript教程大纲
因为考虑到Python的接受难度,改为推广较为简单和流行的JavaScript.先列主要参考资料: JavaScript权威指南(第6版):http://book.douban.com ...
- html5 下拉刷新(pc+移动网页源码)
本文demo下载地址:http://www.wisdomdd.cn/Wisdom/resource/articleDetail.htm?resourceId=1071 本文实现在html5网页中使用下 ...
- 在Ubuntu系统安装Sencha CMD
Now type from the terminal prompt followed by Enter: 1 root@prompt:cd /java 1 root@prompt:tar zx ...
- 修改input获取焦点背景黄色
input:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px white inset !important; }
- mina框架tcpt通讯接收数据断包粘包处理
用mina做基于tcp,udp有通讯有段时间了,一直对编码解码不是很熟悉,这次做项目的时候碰到了断包情况,贴一下解决过程, 我接受数据格式如下图所示: unit32为c++中数据类型,代表4个字节,由 ...