hibernate--生成正向和逆向工程
正向工程:
通过创建Java代码生成表文件
反向工程:
把表创建完自动生成代码
一,正向工程 1.myeclipse使用hibernate正向工程,hibernate的正向工程是指从Java实体类生成数据库表的过程,这种过程符合java程序员面向对象编程的思想,也是工程设计的时候使用比较多的一种思想。具体实施过程如下。
1).手动创建Java pojo对象,并对pojo对象加上hibernate anotation。
这样做的目的是通过myeclipse来生成hibernate映射文件,
public class User {
private int uid;
private String pwd;
private String pname;
private String name;
/** * @hibernate.id generator-class="native" * @return */
public int getUid()
{ return uid; }
public void setUid(int uid)
{ this.uid = uid; } /** * @hibernate.property column="pwd" not-null="true" length="32" * @return */ public String getPwd() { return pwd; }
public void setPwd(String pwd) { this.pwd = pwd; } /** * @hibernate.property column="pname" length="32" * @return */
public String getPname() { return pname; } public void setPname(String pname) { this.pname = pname; } /** * @hibernate.property column="name" length="16" * @return */
public String getName() { return name; }
public void setName(String name) { this.name = name; }
2)myeclipst项目名称右击myeclipst点击run xdoclet,如果没有进行myclipse xdoclet配置,需要先进行配置才能执行上述操作。具体配置方法为,项目选中右击点properties选myclipse—>xdoclet选addstander在弹出来的对话框中选standarhibernate.
3)运行完xdoclet之后将会生成hibernate映射文件,然后在hibernate配置文件中配置好数据库连接设置hibernate.hbm2ddl.auto 为create重新启动tomcate就会生成表。
二, 逆向工程 .
由数据库表生成java pojo和hibernate映射文件
1).准备数据库,假如名为TestDB,里面有一个User的表
2).在MyEclipse的右上角切换透视图,切换到MyEclipse Database Explorer
3).然后在最左边点击右键,选择New(也就是说新建一个数据库连接,Driver Name叫SQL2005_TestDB,方便下面解释,其它的跟平常用的一样),,配置好连接以后点击Next,进入下一个窗体, 选择第三个单选按钮(Display the selected Schemas),然后点击右边的Add按钮,也就是说添加你的数据库,然后点击完成按钮,这样你的数据库连接就创建好了;
4).切换到MyEclipse Java Enterprise 的透视图,创建一个Web Project,假如就叫做TestDemo
5).右击TestDemo,选择MyEclipse,然后选择Add Hibernate Capabilities,然后在出来的窗体不用改,默认的就是选择的Hibernate3.1的,点击Next, 然后出来这个窗体也不用改,会生成一个Hibernate的配置文件(hibernate.cfg.xml),点击Next,又会出现一个窗体,在DB Driber那个下拉框里选择 刚才配置好的数据库连接(上边的SQL2005_TestDB),点击Next,然后出来一个窗体,这个窗体是让你选择你要将你生成的Hibernate的文件放到哪儿,你可以点击New创建一个entity的包,也可以不创建,假如我们现在就创建一个entity的包吧(下面有用),然后点击finish按钮;
6).接下来就是最后一步了,然后又切换到MyEclipse Database Explorer,在你刚才创建的SQL2005_TestDB上右键,选择Open connection, 一直展开到dbo下面的TABLE,展开TABLE,在我们创建的User表上点击右键,选择Hibernate Reverse Engineering(这个就是反向生成),出来一个面板 在Java src folder 选择这个工程的src目录,然后在Java Package上选择刚才我们在工程里面创建好的entity包,接下来就是勾中前三个复选框就可以了,点击Next,又会出现一个面板,这个面板可以不用管,然后点击Next,这个面板也不用管,点击Finish,然后就会生成实体类和映射文件了.
--------------------- 本文来自 du_xian_sheng 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/H12KJGJ/article/details/52970908?utm_source=copy
转载于:https://www.cnblogs.com/Catherinezhilin/p/9687186.html
hibernate--生成正向和逆向工程相关推荐
- 如何用Powerdesigner的PDM(物理数据模型)生成数据库及逆向工程(将现有的数据库生成PDM)(转)...
如何用Powerdesigner的PDM(物理数据模型)生成数据库及逆向工程(将现有的数据库生成PDM) pdm做好后,最终是要将其转化为数据库实体的. 1.确认当前Powerdesigner设置的d ...
- 转用P6SPY查看HIBERNATE生成的SQL
SHOW_SQL获得HIBERNATE生成的SQL中,update/insert语句中的value被替换成"?",昨天得本论坛高人指点用p6spy解决了此问题,特将解决之道回馈本论 ...
- hibernate生成表中有BLOB字段的javabean,hql查询出现无效列类型异常
出现异常:java.sql.SQLException: 无效的列类型: getInt not implemented for class oracle.jdbc.driver.T4CClobAcces ...
- 正向、逆向工程在UML图中的应用
或许很多人不太理解,为什么要学习建模? 因为当一个复杂的架构,在纸上去写去画,是非常复杂的,但通过UML建模就能实现一个脑图,一目了然. 很多人理解的逆向工程是:从UML建模中 导出 Java类,其实 ...
- 使用Hibernate生成数据库和连接数据库
生成数据库Test http://blog.csdn.net/yuhui123999/article/details/51898053 [java] view plaincopy package co ...
- log4j配置使控制台能打印出hibernate生成sql的参数
在log4j.xml中配置如下 <logger name="org.hibernate.type"> <level value="trace" ...
- idea mysql 逆向生成,IDEA mybatis-generator逆向工程生成代码
1.在maven工程中的resource中创建generatorConfig.xml 2.配置generatorConfig.xml /p> PUBLIC "-//mybatis.or ...
- hibernate生成数据表时报错:HHH000388: Unsuccessful: create table emp (empid integer generated by default as i
错误提示: ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL s ...
- idea基于hibernate生成的Entitle对象,会忽略外键属性
需要自己手动添加 如 private String cgcode;@Basic@Column(name = "cgcode")public String getCgcode() { ...
- Mybatis学习笔记(尚硅谷版整理)
Mybatis [尚硅谷]2022版MyBatis教程(细致全面,快速上手)_哔哩哔哩_bilibili 笔记 Mybatis框架搭建 步骤 创建maven工程,引入依赖 创建Mybatis的核心配置 ...
最新文章
- PowerPath/VE:EMC夯实虚拟环境的独门武器
- HDU - 5335 Walk Out(bfs+路径输出+贪心)
- java der pem_JAVA解析各种编码密钥对(DER、PEM、openssh公钥)
- 一步步编写操作系统 29 cpu缓存简介
- C#LeetCode刷题之#189-旋转数组(Rotate Array)
- Head First设计模式读书笔记九 第十章 状态模式
- Qt_QDir_常见的操作
- mysql数据库命令_新手入门MYSQL数据库命令大全
- ACM-树重心的性质及动态维护
- python是什么专业学的-自学Python有什么好方法吗?老男孩专业Python培训
- [转载] python 字符串包含某个字符_python字符串
- 更改linux主机名称
- VIEW: X$KSMLRU - LRU flushes from the shared pool - (7.3 - 8.1) [ID 43600.1]
- Timer 和TimerTask分析
- 一键修改手机DNS的bat文件
- 目的:使用CUDA环境变量CUDA_VISIBLE_DEVICES来限定CUDA程序所能使用的GPU设备
- python类中的魔方方法
- 关于Django+Framework的最完整面试题(1)
- Oracle入门笔记(三)——Oracle数据类型
- 完整的连接器设计手册_CPCI高速背板设计与仿真