在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. IDispatch接口 - GetIDsOfNames和Invoke(转)

    IDispatch接口是COM自动化的核心.其实,IDispatch这个接口本身也很简单,只有4个方法: IDispatch : public IUnknown { public: virtual H ...

  2. The internals of Python string interning

    JUNE 28TH, 2014Tweet This article describes how Python string interning works in CPython 2.7.7. A fe ...

  3. 利用正则表达式作为string.split seprator

    某字符串 var str = "{1,att,7},{2,break,7},{3,crit,7},{4,combo,7},{5,break,7},{6,hit,7}"; 需要分割成 ...

  4. Redis 字符串(String)

      Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下: 语法 redis 127.0.0.1:6379> COMMAND KEY_NAME 实例 redis 12 ...

  5. Android基本控件之ListView(一)

    我们在使用手机的时候,通常看到,像通讯录,QQ列表样式的东西,这里来解释一下,其实那些都是一个ListView 今天,我们就来详细的讲解一下ListView这个控件 ListView中每条显示的数据都 ...

  6. python--json & pickle 模块

    用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 pickle,用于python特有的类型 和 python的数据类型间进行转换 Json模块提供了四个功能:dumps. ...

  7. 错误与修复:ASP.NET无法检测IE10,导致_doPostBack未定义JavaScript错误,恒处于FF5卷动条位置

    浏览器版本号继续升级过程中.IE9诞生了,IE10 也即将问世,火狐5和6已经发布了,而7和8也快出现了,Opera已经到了11,Chrome还在继续,我也不知道,应该总在14和50之间吧.不管怎样, ...

  8. HDU 1043 Eight (A* + HASH + 康托展开)

    Eight Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  9. 24小时学通Linux内核之如何处理输入输出操作

    真的是悲喜交加呀,本来这个寒假早上8点都去练车,两个小时之后再来实验室陪伴Linux内核,但是今天教练说没名额考试了,好纠结,不过想想就可以睡懒觉了,哈哈,自从大三寒假以来还没睡过懒觉呢,现在也有更多 ...

  10. 使用迭代器遍历List的时候修改List报ConcurrentModificationException异常的解决办法

    为了避免这种异常,我们可以使用CopyOnWriteArrayList来代替ArrayList,CopyOnWriteArrayList支持并发访问,所以同时进行迭代和修改是没有问题的.