一、新建工程Demo(如果选的时候勾选了hibernate,IDEA会自动下载Hibernate包,不需要手动导入)



二、导入相关包 Mysql && Hibernate



三、添加Hibernate



四、自动生成配置文件

1.连接数据库(View-Tool Windows-datebase)

如果test connection是灰色的,仔细看Driver这个位置,需要导入mysql的包,IDEA可以直接下载。或者手动导入



2.选择Persistence

五、主函数



六、运行结果

相关代码:

UserEntity.hbm.xml(自动生成)

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping> <class name="com.war.hibernate.UserEntity" table="user" schema="demo">
<id name="id" column="id"/>
<property name="username" column="username"/>
<property name="password" column="password"/>
<property name="address" column="address"/>
</class>
</hibernate-mapping>

hibernate.cfg.xml(需要配置数据库用户和密码)

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory> <!--配置数据库信息-->
<property name="connection.url">jdbc:mysql://localhost:3306/demo</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.username">root</property>
<property name="connection.password">123456</property>
<mapping class="com.war.hibernate.UserEntity"/>
<!--配置文件连接到核心文件-->
<mapping resource="com/war/hibernate/UserEntity.hbm.xml"/>
<!-- DB schema will be updated if needed -->
<!-- 设置数据库创建表的策略 -->
<!--<property name="hbm2ddl.auto">update</property> -->
</session-factory>
</hibernate-configuration>

TestMain.java

package com.war.hibernate;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration; /**
* Created by Administrator on 2017/6/22.
*/
public class TestMian {
public static void main(String[] args) {
//1.加载HIbernate核心配置文件
Configuration cfg = new Configuration();
cfg.configure();
//2.使用sessionFactory
SessionFactory sessionFactory = cfg.buildSessionFactory();
//3使用sessionfactory 实例化session对象
Session session = sessionFactory.openSession();
//4.开始事务
Transaction transaction = session.beginTransaction();
UserEntity userEntity = new UserEntity();
userEntity.setUsername("Susan1");
userEntity.setPassword("12345");
userEntity.setAddress("TaiBei");
//5.调用 session 保存 数据。
session.save(userEntity);
//6.commit transaction
transaction.commit();
//7.close Database resources
session.close();
sessionFactory.close(); } }

UserEntity.java(自动生成)

package com.war.hibernate;

import javax.persistence.*;

/**
* Created by Administrator on 2017/6/22.
*/
@Entity
@Table(name = "user", schema = "demo", catalog = "")
public class UserEntity {
private int id;
private String username;
private String password;
private String address; @Id
@Column(name = "id")
public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} @Basic
@Column(name = "username")
public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} @Basic
@Column(name = "password")
public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} @Basic
@Column(name = "address")
public String getAddress() {
return address;
} public void setAddress(String address) {
this.address = address;
} @Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false; UserEntity that = (UserEntity) o; if (id != that.id) return false;
if (username != null ? !username.equals(that.username) : that.username != null) return false;
if (password != null ? !password.equals(that.password) : that.password != null) return false;
if (address != null ? !address.equals(that.address) : that.address != null) return false; return true;
} @Override
public int hashCode() {
int result = id;
result = 31 * result + (username != null ? username.hashCode() : 0);
result = 31 * result + (password != null ? password.hashCode() : 0);
result = 31 * result + (address != null ? address.hashCode() : 0);
return result;
}
}

原文:http://www.jianshu.com/p/c920962872d3

IDEA 自动生成Hibernate实体类和Mapping文件的更多相关文章

  1. Eclipse从数据库逆向生成Hibernate实体类和映射文件(Eclipse插件系列之HibernateTools)

    ♣下载安装Eclipse插件(HibernateTools) ♣Eclipse连接数据库(Mysql5.7) ♣新建hibernate.properties和hibernate.cfg.xml文件 ♣ ...

  2. MyEclipse自动生成hibernate实体类和配置文件攻略

    步骤1:找到导航栏里面的window--showView然后输入db brower,打开数据库浏览窗口步骤2:在数据库浏览窗口里只有一个Myeclipse自带的数据库,该数据没有用,我们在空白的地方右 ...

  3. 反向生成hibernate实体类和映射文件

    工欲善其事,必先利其器.我们可以使用IDE来根据数据库中的表反向生成实体类和映射文件,虽然这些东西手写也并不是难度很大,但是如果存在大量的简单工作需要我们做,也会显得很麻烦. 写在前面 我们反向生成的 ...

  4. (转)MyEclipse自动生成Hibernate实体类, oracle篇

    转自http://blog.csdn.net/hejinwei_1987/article/details/9465529 1.打开 windows -> Open Perspective -&g ...

  5. (转) Eclipse通过HibernateTools实现逆向生成Hibernate实体类

    背景:工作中使用Hibernate进行持久化的开发工作,所以有必要详细了解这方面的知识. ps:这里有个问题就是刷新表的时候速度太慢了.还不如自己手动去创建.如果表太多倒是可以采取批量生成的策略. 在 ...

  6. eclipse从数据库逆向生成Hibernate实体类

    做项目必然要先进行数据库表设计,然后根据数据库设计建立实体类(VO),这是理所当然的,但是到公司里做项目后,让我认识到,没有说既进行完数据库设计后还要再“自己”建立一变VO.意思是,在项目设计时,要么 ...

  7. [转]eclipse借助hibernate tool从数据库逆向生成Hibernate实体类

    如何从数据库逆向生成Hibernate实体类呢??? 1. 首先,要在eclipse中采用自带的数据库管理器(Data Management),连通你的数据库: 然后选择数据库,这里用的oracle, ...

  8. Mysql逆向工程效率神器之使用IDE自动生成Java实体类

    Mysql逆向工程效率神器之使用IDE自动生成Java实体类 简介:实战使用IDE根据Mysql自动生成java pojo实体类 1.IDEA连接数据库 菜单View→Tool Windows→Dat ...

  9. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-6.Mysql逆向工程效率神器之使用IDE自动生成Java实体类

    笔记 6.Mysql逆向工程效率神器之使用IDE自动生成Java实体类     简介:实战使用IDE根据Mysql自动生成java pojo实体类                  1.IDEA连接数 ...

随机推荐

  1. 接前一篇:new select option保存搜索条件

    WD_SELECT_OPTIONS_20新加了很多好玩的东西,尤其是里面的保存搜索条件和使用保存的搜索条件.因为这个比较想WEB UI,所以兴趣比较高一点,WEB UI里是把参数拼成XML存起来的,我 ...

  2. Chrome的Copy Selector中带有\3

    F12,右键copy selector就是这个结果. 查询到如下资料: https://stackoverflow.com/questions/20043347/css-css-coding-that ...

  3. leetcode 703数据流中的第K大元素

    这里思路是堆排序,而且是小根堆.C++中包含在头文件<queue>的priority_queue本质就是堆排序实现的.其中priority_queue函数原型是 priority_queu ...

  4. RPA简介

    开篇: 公司正在全面推广RPA,正好借此机会学习一下,发现国内对RPA的了解较少,萌生了在博客园开博,同时锻炼一下自己的输出能力,纯笔记,如有不足之处,请指正,共勉. 阅读目录: 1. 什么是RPA ...

  5. java中线程的三种实现方式

    一下记录下线程的3中实现方式:Thread,Runnable,Callable 不需要返回值时,建议使用Runnable:有返回值时建议使用Callable 代码如下所示: package com.f ...

  6. Dubbo死磕之扩展点加载ExetnsionLoader

    dubbo的SPI机制与JDK的SPI机制对比        dubbo一款阿里一款开源的RPC框架,他本身是一款非常复杂的系统,我们主要针对里边的一些核心点来展开分析,其中duboo里的一种核心机制 ...

  7. MSDN订户下载权限被屏蔽的办法

    使用Chrome浏览器,在加载完成页面之后,按F12,在控制台选项卡当中输入下面代码,即可解除屏蔽. $("#SubMigratedMessageArea").remove(); ...

  8. day2 购物车

    需求: 商家入口: 1.商品列表永久保存(暂时使用存储在文件,也可以使用sqlite)里. 2.商家可以增加商品,也可以修改商品价格 买家入口: 1.购物车信息永久保存,暂时使用存储在文件,也可以使用 ...

  9. multiprocessing

    multiprocessing multiprocessing模块是跨平台版本的多进程模块. multiprocessing模块提供了一个Process类来代表一个进程对象. multiprocess ...

  10. 逐帧动画抖动、适配布局、SVG Sprites

    笔者所在的前端团队主要从事移动端的H5页面开发,而团队使用的适配方案是: viewport units + rem.具体可以参见凹凸实验室的文章 – 利用视口单位实现适配布局 . 笔者目前(2017. ...