在SSH框架中,如果先设计好了数据库,那么下一步就需要从数据库Table生成实体java类和hbm.xml配置文件。在最新的开发框架中,已经支持使用注解,从而避免了繁琐的hbm.xml配置,而且我们可以借助HibernateTools工具完成从Table到实体Java类的转换。

1、首先把HibernateTools插件安装到Eclipse上

打开Eclispe,按照如下操作完成插件安装

Help > Install New Software… > Work with:
http://download.jboss.org/jbosstools/updates/stable/luna/

2、插件安装成功后,先新建一个hibernate.cfg.xml配置文件,该文件配置了一些链接数据库的设定,可以帮助Eclipse链接你的数据库表

点击Add Configuration

在弹出的配置框中选择Project、Hibernate版本、点击Configuraton file后面的setup

在Configuration file setup的界面中配置你的数据库链接参数,点击finish即可生成配置文件

你可以用修改生成的配置文件hibernate.cfg.xml,用图形化的形式,比如可以添加一些属性

此时,你的Eclipse应该可以链接上数据库表了,先看一下吧

3、配置文件生成之后,也就是说可以链接上数据库了,下面就能够从数据库Table生成我们想要的Java文件了

点击run->hibernate code generation

在界面中选择输出路径、Package路径等,此时Console Configuration默认为我们在上一步中生成的配置。

Export标签中设置了我们要输出那些文件

reveng.xml后面点击setup,设置你要输出那些表,例如我们这里只输出student表(该步骤完成后会生成配置文件hibernate.reveng.xml)

最后点击finish,大功告成,生成的文件包括TStudentHome.java、Tstudent.java

Tstudent.java 就是我们要生成的带注解的实体类。

/**
* TStudent generated by hbm2java
*/
@Entity
@Table(name = "t_student", catalog = "happycardata")
public class TStudent implements java.io.Serializable { private Integer stuId;
private String stuNetname;
private String stuPassword;
private String stuRealname;
private String stuEmail;
private String stuImg;
private String stuInfo;
.........
}

总体步骤不是太麻烦,如果表比较多,可以节省不少开发工作量。在设计好表结构之后,可以一次性生成初级版本java文件,然后再在初级版本的java文件的基础上进行手动修改,而不是单纯依靠工具生成。毕竟手动修改可控性更强,也更符合开发者的意图。

参考文件:

http://www.tuicool.com/articles/7zq22q

http://blog.csdn.net/lisq037/article/details/9057907

利用HibernateTools从数据库表生成带注解的POJO的更多相关文章

  1. 批量产生ssh2项目中hibernate带注解的pojo类的快捷方法

    近几个月一直在忙于项目组的ios应用项目的开发,没有太多时间去研究web应用方面的问题了.刚好,昨天有网友问到如何批量产生hibernate带注解的pojo类的快捷方法,所谓批量就是指将当前数据库中所 ...

  2. python 从数据库表生成model

    python 从数据库表生成model 找了很久才找到这个,我是新手... 现在已有建好的数据库,需要基于原有数据做数据分析的web应用,我选择python+Tornado ,由于不想写SQL语句,就 ...

  3. 由数据库表生成jpa实体工具

    package cn.net.yto.aaa.dao.generator; /** * 由数据库表生成jpa实体工具 * * @author huike * Created by gf.liu on ...

  4. symfony 数据库表生成实体、迁移数据库

    从数据库表生成实体 1. 由数据库生成模型: php bin/console doctrine:mapping:convert --from-database yml D:\db\ D:\test_b ...

  5. django根据已有数据库表生成model类

    django根据已有数据库表生成model类 创建一个Django项目 django-admin startproject 'xxxx' 修改setting文件,在setting里面设置你要连接的数据 ...

  6. SqlServer数据库表生成C# Model实体类SQL语句——补充

    在sql语句最前边加上  use[数据库名] 原链接:https://www.cnblogs.com/jhli/p/11552105.html   --[SQL骚操作]SqlServer数据库表生成C ...

  7. Django的models由数据库表生成

    Django的models由数据库表生成 参考文献:https://www.cnblogs.com/sukura/p/14306510.html 目的或效果:方便实现使用django原生的后台管理系统 ...

  8. java工具类–自动将数据库表生成javabean

    最近和数据库的表打交道挺多的,因为暂时做的是接口活. 在这过程中发现要把表转换成对应的javabean类型,字段少的表还行,如果不小心碰到几十个字段的他妈的写起来就有点麻烦了,万一碰到几百个的呢,那不 ...

  9. 利用MyEclipse连接数据库并自动生成基于注解或者XML的实体类

    一.利用MyEclipse连接数据库 1. 打开MyEclipse的数据库连接视图 然后在Other中找到"MyEclipse Database"中的DB Browser 2. 在 ...

随机推荐

  1. C/C++产生随机数

    <一> C/C++如何产生随机数:这里要用到的是rand()函数, srand()函数,C语言/C++里没有自带的random(int number)函数. (1)  假设你仅仅要产生随机 ...

  2. mysql用变量存储插入的id

    INSERT into a(value) values ('test');#set @last_id = LAST_INSERT_ID();set @last_id = (select max(id) ...

  3. xtrabackup原理1

    http://www.cnblogs.com/Amaranthus/archive/2014/08/19/3922570.html Percona XtraBackup User Manual 阅读笔 ...

  4. C#轻型ORM框架PetaPoco试水

    近端时间从推酷app上了解到C#轻微型的ORM框架--PetaPoco.从github Dapper 开源项目可以看到PetaPoco排第四 以下是网友根据官方介绍翻译,这里贴出来. PetaPoco ...

  5. Swift 3必看:新的访问控制fileprivate和open

    在swift 3中新增加了两中访问控制权限 fileprivate和 open.下面将对这两种新增访问控制做详细介绍. fileprivate 在原有的swift中的 private其实并不是真正的私 ...

  6. X - Urban Elevations

     Urban Elevations  An elevation of a collection of buildings is an orthogonal projection of the buil ...

  7. ArcEngine中打开各种数据源(WorkSpace)的连接http://www.cnblogs.com/feilong3540717/archive/2011/08/07/2129906.html

    ArcEngine中打开各种数据源(WorkSpace)的连接 ArcEngine中打开各种数据源(WorkSpace)的连接 (SDE.personal/File.ShapeFile.CAD数据.影 ...

  8. 关于linux-Centos 7下mysql 5.7.9的rpm包的安装方式 (转)

    操作系统:Centos 7.1 mysql数据库版本:mysql5.7.9 mysql官方网站:http://www.mysql.com ------------------------------- ...

  9. [转]Oracle SQL性能优化

    本文转自:http://www.cnblogs.com/rootq/archive/2008/11/17/1334727.html (1)      选择最有效率的表名顺序(只在基于规则的优化器中有效 ...

  10. [改善Java代码]对字符串排序 持一种宽容的心态

    在Java中一涉及到中文处理就会冒出很多的问题来,其中的排序也是一个让人头疼的问题,看代码: import java.util.Arrays; public class Client { public ...