一、新建工程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. 'JetEntityFrameworkProvider' could not be loaded 解决办法

    原因:JetEntityFrameworkProvider引用的EntityFramework与你使用的版本不一致,造成程序加载这个DLL失败. 解决办法: 使用Reflect软件JetEntityF ...

  2. 和初学者交流学习java语言一些体会。

    对初学者,自己学习java语言的一些体会: 1.工欲善其事,必先利其器.先把Java学习工具准备好,包括集成开发环境IDE,自己觉得MyEclipse比较适合,还有数据库,Oracle或MySQL,S ...

  3. kafka AdminClient 闲时关闭连接

    AdminClient 类提供了创建.删除 topic 的 api. 在项目中创建了一个 AdminClient 对象,每次创建 topic 时,调用 org.apache.kafka.clients ...

  4. vim 插件 -- taglist

    taglist 插件是基于ctags生成的tags文件一个工具.主要是用来生成当前文件的结构.如:函数名.变量名结构.具体如下图: 下载 https://www.vim.org/scripts/scr ...

  5. System.out.print()执行顺序

    今天使用递归调用计算的时候发现一个很奇怪的问题 代码: public class practice20 { public static double nStep(double N) { if (N&l ...

  6. Spring Boot:Web 综合开发

    Web 开发 Spring Boot Web 开发非常的简单,其中包括常用的 json 输出.filters.property.log 等 json 接口开发 在以前使用 Spring 开发项目,需要 ...

  7. 该 URL“XX”无效。它可能指向不存在的文件或文件夹,或者是指向不在当前网站中的有效文件或文件夹

    当使用SharePoint  SPWeb.Files.Add()方法往文档库中写入文件时,报 该 URL“XX”无效.它可能指向不存在的文件或文件夹,或者是指向不在当前网站中的有效文件或文件夹, 原因 ...

  8. vue做的第二个app

    用vue做应用最好的还是组件的复用上次做饿了吗的app封装了一个评分star的组件只要引入组件传入size大小和score分数就行了,这次做豆瓣直接就就用上了不用重复写代码.不过vue做单页应用全部挂 ...

  9. 【java线程】锁机制

    转载于:https://blog.csdn.net/vking_wang/article/details/9952063 http://www.infoq.com/cn/articles/java-m ...

  10. 导航菜单点击图片切换--jquery

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...