1. hibernate引入的jar包:hibernate-release-5.0.12.Final.zip
  2. 数据库驱动: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配置文件内容如下

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE hibernate-configuration PUBLIC
  3. "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  4. "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
  5. <hibernate-configuration>
  6. <session-factory>
  7. <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
  8. <property name="hibernate.connection.password">a123</property>
  9. <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/tb_test</property>
  10. <property name="hibernate.connection.username">sherman</property>
  11. <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
  12.  
  13. </session-factory>
  14. </hibernate-configuration>

注意,把<session-factory name="MySQL">的name属性去掉,否则报org.hibernate.engine.jndi.JndiException异常,在该文件中添加一些配置,如图:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE hibernate-configuration PUBLIC
  3. "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  4. "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
  5. <hibernate-configuration>
  6. <session-factory>
  7. <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
  8. <property name="hibernate.connection.password">a123</property>
  9. <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/tb_test</property>
  10. <property name="hibernate.connection.username">sherman</property>
  11.  
  12. <!-- 配置数据库方言 -->
  13. <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
  14. <!-- 控制台打印sql语句 -->
  15. <property name="show_sql">true</property>
  16. <!-- 格式化sql -->
  17. <property name="format_sql">true</property>
  18. <!--在启动时根据配置更新数据库 -->
  19. <property name="hibernate.hbm2ddl.auto">update</property>
  20. <!-- 配置连接池的连接数 -->
  21. <property name="connection.pool_size">20</property>
  22.  
  23. <!-- 注册实体映射类 -->
  24. <mapping class="com.gdut.app.entity.News"/>
  25. </session-factory>
  26. </hibernate-configuration>

在src下新建一个包com.gdut.app.entity,存放持久化类News,News类代码如下

  1. package com.gdut.app.entity;
  2.  
  3. import javax.persistence.Entity;
  4. import javax.persistence.GeneratedValue;
  5. import javax.persistence.GenerationType;
  6. import javax.persistence.Id;
  7. import javax.persistence.Table;
  8.  
  9. @Entity
  10. @Table(name="NEWS_INFO")
  11. public class News {
  12. @Id
  13. @GeneratedValue(strategy=GenerationType.IDENTITY)
  14. private Integer id;
  15. private String title;
  16. private String content;
  17. public News() {
  18. }
  19. public News(Integer id, String title, String content) {
  20. this.id = id;
  21. this.title = title;
  22. this.content = content;
  23. }
  24. public Integer getId() {
  25. return id;
  26. }
  27. public void setId(Integer id) {
  28. this.id = id;
  29. }
  30. public String getTitle() {
  31. return title;
  32. }
  33. public void setTitle(String title) {
  34. this.title = title;
  35. }
  36. public String getContent() {
  37. return content;
  38. }
  39. public void setContent(String content) {
  40. this.content = content;
  41. }
  42. @Override
  43. public String toString() {
  44. return "News [id=" + id + ", title=" + title + ", content=" + content + "]";
  45. }
  46.  
  47. }

编写测试类:

  1. package com.gdut.app.entity;
  2.  
  3. import org.hibernate.Session;
  4. import org.hibernate.SessionFactory;
  5. import org.hibernate.Transaction;
  6. import org.hibernate.cfg.Configuration;
  7. import org.junit.Test;
  8.  
  9. public class BeanTest {
  10.  
  11. @Test
  12. public void beanTest() {
  13. // final StandardServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
  14. // .configure("hibernate.cfg.xml").build();
  15. //
  16. // SessionFactory sf = new MetadataSources(serviceRegistry).buildMetadata().buildSessionFactory();
  17. //两种方式都可以获取SessionFactory
  18. Configuration cfg = new Configuration().configure();
  19. SessionFactory sf = cfg.buildSessionFactory();
  20. Session sess =sf.openSession();
  21. Transaction transaction = sess.beginTransaction();
  22. News n = new News();
  23. n.setContent("在广工毕业");
  24. n.setTitle("毕业季");
  25. sess.save(n);
  26. transaction.commit();
  27. sess.close();
  28.  
  29. }
  30. }

经过测试成功

或者通过映射文件

在com.gdut.app.entity包下简历一个News.hbm.xml映射配置文件,修改genarator的class属性为active

  1. <?xml version="1.0"?>
  2. <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  3. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
  4. <!-- Generated 2018-5-22 23:45:23 by Hibernate Tools 3.5.0.Final -->
  5. <hibernate-mapping>
  6. <class name="com.gdut.app.entity.News" table="NEWS">
  7. <id name="id" type="java.lang.Integer">
  8. <column name="ID" />
  9. <generator class="native"/>
  10. </id>
  11. <property name="title" type="java.lang.String">
  12. <column name="TITLE" />
  13. </property>
  14. <property name="content" type="java.lang.String">
  15. <column name="CONTENT" />
  16. </property>
  17. </class>
  18. </hibernate-mapping>

在hibernate.cfg.xml中配置

  1. <mapping resource="com/gdut/app/entity/News.hbm.xml"/>

测试验证成功。

整个工程架构如图:

eclipse下搭建hibernate5.0环境的更多相关文章

  1. 在Eclipse下搭建Android开发环境教程

    我们昨天向各位介绍了<在NetBeans上搭建Android SDK环境>,前不久也介绍过<在MyEclipse 8.6上搭建Android开发环境>, 都受到了读者的欢迎.但 ...

  2. 【转】在Eclipse下搭建Android开发环境教程

    本文将全程演示Android开发环境的搭建过程,无需配置环境变量.所有软件都是写该文章时最新版本,希望大家喜欢.   一 相关下载 三 Eclipse配置 (1)Java JDK下载 1 安装andr ...

  3. 在Eclipse下搭建Hadoop开发环境

    在前面的博文中博主展示了如何在虚拟机中搭建Hadoop的单节点伪分布集群,今天给大家介绍一下如何在Eclipse环境中搭建Hadoop的管理和开发环境,话不多说,下面我们就进入正题吧! 1.JDK安装 ...

  4. Linux中Eclipse下搭建Web开发环境

    0. 准备工作 java环境,Linux下基本上都有含开源jdk的库,可直接下载,且不用配置环境变量,当然也可以官网下载后自己配置: Eclipse Neon,注意看清是64位还是32位,下载的应该是 ...

  5. Linux下搭建.NetCore3.0环境及创建项目

    ================================================== ================================================= ...

  6. OSGI企业应用开发(二)Eclipse中搭建Felix运行环境

    上篇文章介绍了什么是OSGI以及使用OSGI构建应用的优点,接着介绍了两款常用的OSGI实现,分别为Apache Felix和Equinox,接下来开始介绍如何在Eclipse中使用Apache Fe ...

  7. 在CentOS下搭建Android 开发环境

    在CentOS下搭建Android 开发环境 目录 1.环境搭建 1.1.JDK安装 1.2.Eclipse安装 1.3.ADT安装 1.4.Android SDK安装 1.5.Android NDK ...

  8. mac os 下搭建android开发环境

    mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...

  9. Mac下搭建php开发环境教程

    方案一:原生安装 这篇文章主要介绍了Mac下搭建php开发环境教程,Mac OS X 内置了Apache 和 PHP,这样使用起来非常方便.本文以Mac OS X 10.6.3为例,需要的朋友可以参考 ...

随机推荐

  1. Mac OS X下64位汇编与Linux下64位汇编的一些不同

    1 首先系统调用号大大的不同:mac64和linux32的系统调用号也不同(虽然局部可能有相同) 2 mac64的系统调用号在: /usr/include/sys/syscall.h 可以查到,但是调 ...

  2. Struts2,Spring,Hibernate优缺点

    struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发. 优点: Struts跟Tomcat.Turbine等诸多Apache项目一样,是开源软件,这是它的 ...

  3. JDBC基本使用

    J2EE技术规范(二)——JDBC 分类: java2012-12-03 14:25 1060人阅读 评论(8) 收藏 举报 一.了解JDBC (1) JDBC是以统一方式访问数据库的API (2) ...

  4. % 与 format 进行字符串格式化

    字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 1.百分号方式 %[(name)][flags][width].[precision]typecode (name) ...

  5. Day2_元组_字典_集合_字符编码_文件处理

    元组: 作用:存多个值,元组不可变,主要用来读 age=(11,22,33,44,55) print(age[2]) #取出元组内的值 print(age[1:4]) #取出元组内的某些值 print ...

  6. Using Sass with the Angular CLI

    https://www.tuicool.com/articles/mauiMzY One of the first things you'll usually do in a project is t ...

  7. webstorm配置eslint【标记错误,修复错误】

    项目中经常用到eslint语法,结合个人经验,用webstorm配置eslint "文件"->"默认设置"->"语言&框架&quo ...

  8. 使用清华源替代Ubuntu源

    sudo nano /etc/apt/source.list 替换为如下文本 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main ...

  9. 使用Myeclipse2015构建SpringMVC项目

    1.新建web project 2.右键项目,给项目添加spring框架如图,不需要勾选任何一个选项. 3.在WebRoot/WEB-INF目录下添加web.xml内容如下: <?xml ver ...

  10. C++ 文件流的详解

    部分内容转载:http://blog.csdn.net/kingstar158/article/details/6859379 感谢追求执着,原本想自己写,却发现了这么明白的文章. C++文件流操作是 ...