hibernate反向生成示例
Eclipse使用Hibernate Tools逆向生成实体类并解决乱码问题
使用Hibernate Tools逆向生成实体类并解决乱码问题1Eclipse安装配置1.1安装hibernate tools插件首先要看清楚Eclipse版本,然后找到对应Eclipse版本的hibernate tools插件。
如Eclipse Luna (4.4.2)则找到/jbosstools/updates/stable/luna/下载对应的hibernate tools插件,避免安装错误。
打开eclipse,选择“Help”->“安装新软件”->”Add” 输入网址:/jbosstools/updates/stable/luna/从下拉框里找到hibernate tools插件,也可同时选择其他所需要的插件,逐步安装即可。
1.2新建所要生成VO实体类的工程完成后修改工程的build path,加入从Eclipse的hibernate plugins里找到对应jar包,如下:2配置Hibernate Tools2.1Hibernate Configuration File(cfg.xml)保存在工程的src目录下即可,然后下一步:在这里可以选择Hibernate版本。
在配置数据库连接信息时需要注意:Driver class选择用com.mysql.jdbc.Driver;在Connection URL后面加入Unicode连接参数:jdbc:mysql://127.0.0.1 /test?useUnicode=true&characterEncoding=UTF-8&useInformationSchema=true。
这里可以选择同时生成Console Configuration,也可以后面手工生成。
2.2Hibernate Console Configuration打开配置界面如下:在Common标签页面里记得选择“UTF-8”编码。
可以在控制台看到数据库的数据表了。
通过Hibernate将数据库在myeclipse中逆向生成
通过Hibernate将数据库在myeclipse中逆向生成1.首先准备好数据库。
2.在MyEclipse的右上角切换透视图,切换到MyEclipse Database Explorer3.在最左边点击右键,选择New(也就是新建一个数据库连接),然后编写第一个页面,Driver template: MySQL Connector/J (因为是建立数据库连接)Driver name :icloud(这个名字随便起,方便以后使用)Connection URL :jdbc:myslq://localhost:3306/icloud?useUnicode=true& characterEncoding=UTF-8(这里如果最后地数据库,写localhost;如果在别的机子上,填写对方的ip;这个地方的 icloud是数据库的名称;当然后面还可以加一些配置,例如加密方式是统一的,都是用UTF-8进行加密)User name :root (数据库访问的用户名,mysql默认用户为root。
)Password:¥¥¥¥¥(设置数据库的密码)Driver JARs :点击Add JARs ,然后将mysql-connector-java-5.1.6-bin.jar添加进去,也可以是其他版本。
Driver classname:com.mysql.jdbc.Driver最后点击Test Driver,如果返回Database connection successfully established.说明第一步成功。
4.点击Next,进入第二个界面,选择第三个单选按钮(Display the selected Schemas),然后点击右边的Add按钮,也就是说添加你的数据库,然后点击完成按钮,这样你的数据库连接就创建好了。
5.切换到MyEclipse Java Enterprise 的透视图,创建一个Web Project,名字、保存路径什么的自己填写,我起来个icloud。
myeclipse hibernate反向工程图文教程
Myeclipse6.0 的hibernate反向工程第一步:建DB Browser方法一:Window -> Open Persipective -> MyEclipse Database Explorer以后步骤同二方法二: window / show view /other 选择如下图最后,点击OK,在工作空间上将会出现一个DB Browser的配置页面,在配置页面空白处,右键,选择New按钮在弹出的对话框当中配置数据库连接点完成即可点击my_driver 可以new 表等点connect to my_driver 可以new sql编辑器执行sql: 本次执行sql 例子如下:create table testUser(id int not null,username varchar(200),age int,primary key ("ID"))点击左上绿色按钮即可执行sql第二步:新建java工程(简单省略了),初始化Hibernate开发环境点击工程鼠标右键得到下图:Next (选择刚才你建立的db browser)Next 新进包名如图点击完成新的工程目录结构如下图所示:我们可以看到,系统自动给我们生成了HibernateSessionFactory.java及Hibernate.cfg.xml配置文件,并将Hibernate环境所需要的外部包文件也加入到CLASSPATH当中。
第三步:通过反向工程,生成POJO及hbm映射文件:在DB Browser配置界面,入进hibernate数据库,如下图所示:找到该用户下刚才所建的表将弹出如下的对话框,在Java package当中输入产生的hibernate映射的JavaBean为com.gjrencai.model,详细请参考下图点击Next>按钮,在新的对话框当中,在ID Generator的选项当中选择increment,表示ID为数据库自增长类型。
数据库表反向生成(一)MyBatis-generator与IDEA的集成
数据库表反向⽣成(⼀)MyBatis-generator与IDEA的集成在Dao层,通过数据库表反向⽣成,可以节省我们很多的精⼒,把更多的精⼒投⼊复杂的业务中。
数据库表反向⽣成,指的是通过数据库如mysql中的库表schema⽣成dao层读写表的基础代码,包括model(entity)和dao(mapper)。
在本⽂中我先介绍java中mybatis-generator的反向⽣成。
我们在中会介绍django中ORM的反向⽣成。
mybatis-generator的反向⽣成有两种⽅式1)源码打包⽣成mybatis-generator.jar,通过执⾏jar来⽣成代码,然后把代码拷贝到⼯程2)直接跟编辑器集成,例如IDEA。
我们只说明第⼆种⽅式。
1、在IDEA中创建⼀个maven⼯程2、在maven⼯程的pom⽂件中添加mybatis-generator-maven-plugin插件<build><plugins><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.2</version><configuration><verbose>true</verbose><overwrite>true</overwrite></configuration></plugin></plugins></build>3、在src/main/resources⽬录下创建两个配置⽂件,generatorConfig.xml和generator.propertiesgeneratorConfig.xml⽂件内容请看注释,<table>中配置的是你要扫描的表。
eclipse中,由数据库反向生成hibernate实体类(图解)
Eclipse中反向生成hibernate实体类+jpa注释2011-01-24一、配置数据源,sqlServer2000数据库1、菜单栏“Window”……,截图如下:2、Database Connecttions右击“new”,选择要使用的数据库,本例中是SQL Server,给数据源随便命名,此处为MedicalInfoDB,然后单击“next”,截图如下:3、单击Drivers一行最后那个按钮,配置数据库驱动:配置驱动类和url等……最后点击“OK”,截图如下:4、点击“OK”之后,配置“General”选项卡,“Optional”选项卡不用管,截图如下,5、然后点击“Next”,核对一下数据源信息,点击“Finish”。
截图如下:6、二、反向生成实体类1、打开eclipse,在顶部菜单栏右击选择“Customize Per……”,截图如下:2、选择之后弹出如下选项卡,选择“Command Groups A vailability”,在下面勾选“Hibernate Code Generation”,然后点击“OK”,截图如下:3、点击“OK”之后会在菜单栏中显示如下图所示最后一个快捷按钮:4、点击按钮右边的小箭头,选择下拉菜单中第二项“Hibernate Code Generation……”,截图如下:5、选中之后,弹出如下窗口,右击“New”一个New_configuration:6、左键单击选中新建的New_configuration,右边出现好多选项卡,截图如下:参数说明:(1)、没用;(2)、选择保存……的位置。
(3)、如果反向生成实体类,则将勾上。
保存实体类的文件夹的位置(可不填写),Reveng.xml最右边的Setup……,点击后“新建”或者“使用已存在的”reveng.xml。
选择保存reveng.xml文件的项目的包,点击“Next”,然后点击,单击选中要使用的数据库,或者数据库的某些表(包括表和视图!!!),点击,然后“Finish”。
MyEclipse中hibernate反向工程实例(一对多关联)
MyEclipse中hibernate反向工程实例(一对多关联)1、数据库设计实例对象为工作人员和部门,关系为一个部门对应多个工作人员,一个工作人员只属于一个部门见表语句如下:(先用Navicat建的表,然后导出的sql语句),数据库名称为test SET FOREIGN_KEY_CHECKS=0;DROP TABLE IF EXISTS`t_department`;CREATE TABLE`t_department`(`id`int(11)NOT NULL auto_increment,`departmentname`varchar(40)NOT NULL,`departmentlocation`varchar(100)NOT NULL,PRIMARY KEY(`id`))ENGINE=InnoDB DEFAULT CHARSET=utf8;DROP TABLE IF EXISTS`t_user`;CREATE TABLE`t_user`(`id`int(11)NOT NULL auto_increment,`username`varchar(20)NOT NULL,`password`varchar(20)NOT NULL,`departmentid`int(11)NOT NULL,PRIMARY KEY(`id`),KEY`departmentid`(`departmentid`),CONSTRAINT`departmentid`FOREIGN KEY(`departmentid`)REFERENCES `t_department`(`id`))ENGINE=InnoDB DEFAULT CHARSET=utf8;2、使用MyEclipse反向工程生成配置文件和POJO类第一步:配置数据源1、打开MyEclipse,新建一个web工程,这里命名为hibernate_demo2、打开数据库设置器:依次单击【window】-->【Show View】-->【Other…】如下图所示:3、在弹出的窗口ShowView中选择DB Browser,如下图所示:4、在DB Browser窗口中,选择显示的图标,单击右键执行新建命令,如下图示5、弹出Database Driver对话框,在此会要求我们配置数据库的相关信息,具体设置如下图所示,设置完成,单击Finish.【第二步】引入hibernate配置文件1、添加hibernate包:选中我们的Web工程,依次单击鼠标右键-->MyEclipse-->Add Hibernate Capabilities…如下图所示:2、在弹出的窗口中做如下设置:【Next】,创建hibernate的配置文件【Next】,指明hibernate与数据库的连接【Next】,创建HibernateSessionFactory类,用来获得session。
Hibernate实验(一):数据源、Hibernate配置与反向工程映射
Hibernate实验(一):数据源、Hibernate配置与反向工程映射实验目的:1、熟练掌握Eclipse中数据源的配置。
2、熟练掌握Hibernate配置、理解配置文件内容。
3、熟悉掌握反向工程的概念,并能完成反向工程的相关ORMapping操作。
4、初步了解应用Hibernate架构技术完成数据库应用项目开发。
实验内容:参考下列步骤将示例项目:TeacherSysDemo再做一遍。
一.建立数据库如果该数据库已存在,此步骤可省略。
注意:也可以使用提供的salary.bak在SQLServer中进行“还原数据库”操作在SQLServer中建立数据库teacherinfo。
表结构与样例数据参考如下:二、新建项目新建一个Dynamic Web Project项目Hibernatepro1,并将示例项目如:TeacherSysDemo中WebContent目录中WEB-INFO中lib下所有的.jar文件拷贝到此新建项目对应的文件夹中。
三、数据源配置在Eclipse菜单项中选择Window->Show View->Data Source Explorer使之配置成如下效果:参考配置过程与参考选项值设置:点击其中Test Connection按钮,应得到Ping Success即为数据源配置成功。
记录其中的Connection URL。
用于后续Hibernate配置。
三、在Eclipse中进行Hibernate数据库连接配置与Hibernate.xml文件配置1.打开Hibernate Configurations面板Hibernate插件安装完毕后,Windows->Show View->Hibernate->Hibernate Configurations点击OK后,出现Hibernate Configurations面板:2.进行hibernate配置在该面板中点击右键菜单中“Add Configuration”菜单项:3.hibernate.cfg.xml文件的生成要先有hibernate.cfg.xml文件,才能为后续反向工程映射文件的生成提供条件。
在IntellijIDEA下通过Hibernate逆向生成实体类
在IntellijIDEA下通过Hibernate逆向⽣成实体类前⾔:在IDEA中,通过相关插件,可以利⽤Hibernate逆向⽣成数据表对应的实体类。
具体操作及注意事项见本篇随笔。
1.创建⼀个基于maven的hibernate⼯程。
并在⼯程中添夹hibernate核⼼配置⽂件hibernate.cfg.xml,其⼯程结构如下图所⽰。
其中,hibernate.cfg.xml的配置如下:1<?xml version='1.0' encoding='utf-8'?>2<!DOCTYPE hibernate-configuration PUBLIC3 "-//Hibernate/Hibernate Configuration DTD//EN"4 "/dtd/hibernate-configuration-3.0.dtd">5<hibernate-configuration>6<session-factory>78<!-- 主要三部分配置-->9<!-- 1.配置数据库信息,必须的-->10<property name="connection.url">jdbc:mysql://localhost:3306/hibernatestudy?useUnicode=true&characterEncoding=UTF-8</property>11<property name="connection.driver_class">com.mysql.jdbc.Driver</property>12<property name="ername">root</property>13<property name="connection.password"></property>1415<!-- 2.配置hibernate信息,可选的-->1617<!-- 输出底层的sql语句-->18<property name="hibernate.show_sql">true</property>1920<!-- 对底层sql进⾏格式化-->21<property name="hibernate.format_sql">true</property>2223<!--配置数据的⽅⾔,如mysql中limit24 oracle的rownum-->25<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>2627<property name="hibernate.current_session_context_class">thread</property>2829<!-- 3.把映射⽂件配置到核⼼⽂件中,必须的-->3031</session-factory>32</hibernate-configuration>View Code注意:该配置⽂件中对数据库的相关信息进⾏能配置,在后续逆向⽣成实体类的时候,⼜会⽣成数据库信息,所以建议在使⽤插件⽣成实体类时,将数据库配置信息注释,实体类⽣成完后,在将其打开。
反向生成的问题
为hibernate添加Mapping时出现No entries available2011-05-27 11:06在hibernate中,每个数据表对应的其实是一个实体类,每个实体类有一个对应的hbm.xml 配置文件和你匹配,myeclipse中有个MyEclipse Database Explorer视图,它提供了myeclipse 与数据库直接连接的内置窗口,并且通过此窗口可以生成hibernate的mapping文件。
? 在原有的工程中我配置好了这些,并且可以对数据表进行浏览和数据修改了,但是在执行Generate Hibernate Mapping时,location项browser的时候,弹出窗口显示没有合适的No entries available,即没有办法选择工程文件包目录。
我原以为是项目的问题,但是我重建了项目还是加不了映射文件,在网上查找到如下解决办法:原来需要先为应用增加Hibernate特性。
操作如下:1.在项目上点击右键选择MyEclipse选项,为应用增加Hibernate特性.2. 在出现的配置窗口中,选中“Add Hibernate 2.1 libraries to project?”,然后设定存放Hibernate 库文件的目录为:/WEB-INF/lib 目录,默认会选择创建一个新的Hibernate配置文件hibernate.cfg.xml。
3.点击下一步,进入Hibernate数据库连接配置界面,在Connection Profile选项中直接选择在MyEclipse Database Explorer中配置的vipdata选项,然后就会自动生成其他的配置,可以选择“Copy JDBC Driver and add to classpath”,这样就会将JDBC驱动拷贝到WEB-INF/lib目录中。
:4.点击下一步,来创建Hibernate的SessionFactory类,这是一个简单的集中管理Hibernate会话的工厂类,填写类的全名称。
用数据库表反向生成hiberante实体类
hibernate经过数据库表反向生成实体类步骤一:window-->open Perspective-->MyEclipse Java Persistence进行了上边的操作后会出现一个视图DB Brower:MyEclipse Derby ,点击右键新建 new 一个在出现的面板 Database Driver中, Driver template 中选择Oracle(ThinDriver) 这里以 oracle 软件为例 ,假如是 mysql 就选 mysql 的driver name能够任意取, Connection URL 就写平时的 JDBC 中的 URL ,jdbc:oracle:thin:@127.0.0.1:1521>]:,用户名,用户密码也是的,接下来add Jars 增添 oracle的驱动包,点 Test Driver 测试下能否可用,点击Finish 达成,这时在视图中会出现你写的driver name的那个图标了,点击图标能够看到数据库中全部的表。
步骤二:选中项目右键-->MyEclipse-->add Hibernate Capabilities这里我们选择 hibernate3.2而后假如需要用到在实体类上增添说明的话那么选中紧挨着的Enable Hibernate Annotations Support而后下一步选中一个目录寄存自动生成hibernate.cfg.xml 文件下一步选中一个DB Driver 中我们第一步成立的那个,而后下一步选中一个目录(选择目录和包)寄存自动生成的HibernateSessionFactory工具类点 Finish 达成步骤三:反转,到 DB Brower 中那个新建的选中点开到全部表选中而且点击右键 --->Hibernate ReverseEnginnering选中目录寄存将要反转出来的实体类而且勾选中Create POJO<>DB( add Hibernate mapping..用来在实体类中增添说明映照,可选可不选),选中 UpdateHibernate configuration..用来将生成的实体类映照到上一步生成的 hibernate.cfg.xml 中去,接着再下一步到 typeMapping 这里选中 Hibernate type 种类,再到 Id Generator这里,能够设置成为 native,Generate version and timestamp tag是用来在有 version 字样的数据库列生成表的字段时自动加上@version 讲解,相同可选可不选,而后点击 Finish 达成。
将实体类生成数据库文档的方法
将实体类生成数据库文档的方法全文共四篇示例,供读者参考第一篇示例:将实体类生成数据库文档是一种非常方便的方法,它能帮助开发人员更快速地理解数据库结构,降低了对数据库的理解难度。
本文将介绍几种常见的方法来实现这一目标,并分析它们的优缺点。
一种常见的方法是使用ORM(Object-Relational Mapping)工具来将实体类生成数据库文档。
ORM工具可以根据实体类的定义自动生成相应的数据库表结构,然后可以通过这些表结构生成数据库文档。
这种方法的优点是方便快捷,可以通过少量的配置即可完成数据库文档的生成,同时也可以保持数据库和实体类的一致性。
这种方法也存在一定的局限性,比如对于复杂的数据库结构可能无法完全满足需求,同时对于一些特殊的数据库属性可能无法很好地支持。
另一种方法是使用代码生成工具来将实体类生成数据库文档。
代码生成工具可以根据实体类的定义生成相应的数据库表结构,并且可以根据数据库表结构生成数据库文档。
这种方法的优点是可以根据实际需求进行定制化的生成,可以满足更加复杂的需求,同时也可以适应更多种类的数据库管理系统。
这种方法的缺点是需要编写生成代码的模板,对于复杂的数据库结构可能需要编写大量的代码,同时也需要花费一定的时间和精力来进行维护和更新。
除了以上两种方法之外,还可以考虑使用数据库设计工具来将实体类生成数据库文档。
数据库设计工具可以通过图形化的方式来设计数据库表结构,并且可以根据设计的表结构来生成数据库文档。
这种方法的优点是可以直观地展现数据库结构,方便开发人员进行理解,同时也可以方便地进行数据库设计的调整和更新。
这种方法也需要一定的学习成本,对于一些复杂的数据库结构可能需要花费更多的时间和精力来进行设计和维护。
将实体类生成数据库文档是一项非常有益的工作,可以帮助开发人员更好地理解数据库结构,提高开发效率。
不同的方法都有各自的优缺点,可以根据实际需求来选择适合的方法进行实现。
希望本文所述的内容能够帮助读者更好地理解和应用这一领域的知识。
Hibernate随课笔记-WPJ1110
Hibernate工程反转(从数据库到实体类)1.增加Hibernate支持2.自动生成hibernate.cfg.xml配置文件,该配置文件为主配置文件(核心)一般一个项目一个。
注意:存放位置不要改变(src目录下),名字也不要改变。
3.选中需要反转的表右键选择hibernate反转(Reverse):创建实体类到数据库表的映射关系4.id主键生成选择native(本地),有数据库决定5.反转完成后自动为我们生成一个映射文件(*.hbm.xml)和一个与之对应的实体类,主配置文件中为我们增加了刚才新生成映射文件的位置映射关系,实体类中每一个属性都与我们反转的数据源数据一一对应,一定要注意映射文件存放的位置(与与之对应实体类存放同一包下)a)*.hbm.xml映射文件解说:i.class节点中属性name:实体类的完整包名类名ii.table:实体类与之对应的在数据库中的表名iii.catalog:该表所属的数据库名iv.换句话说:某个数据库下的某张表与实体类相对应的一个关系(映射关系)v.class下的子节点id:只能有一个,表示的是主键,凡是column相关都是与数据库表字段相关,属性名与数据库字段相对应。
Generator表示的是id主键生成策略,Hibernate强烈建议一般使用native(本地,由数据库决定)6.数据持久化操作(一切开发围绕着数据展开)a)瞬时状态:程序数据存在内存中,程序退出,数据消失。
b)持久状态:程序数据保存在磁盘中,程序退出,数据任然存在。
c)持久化操作:将瞬时状态与持久状态进行转化的机制。
7.数据源:比如数据库、xml、文本文档所存储的数据可以作为数据源。
8.dao:Date access object,数据访问对象,我们写到现在的dao模式(接口)是持久化操作的一个实现,所操作的数据源不仅仅局限于关系型数据库。
我们可以根据不同的数据源编写不同的dao实现,比如说xml、properties等。
hibernate的manytoone和onetomany用例 -回复
hibernate的manytoone和onetomany用例-回复Hibernate是一个Java的持久化框架,常用于开发数据访问层的代码。
它提供了一种简化数据库操作的方法,可以通过对象和关系数据库进行交互。
在Hibernate中,常用的关系映射包括many-to-one和one-to-many。
本文将通过详细讲解这两种关系映射的用例来帮助读者更好地理解和使用Hibernate。
首先,我们来了解一下many-to-one关系映射。
这种映射关系表示一个实体对象(通常是较"多"的一方)可以与另一个实体对象(通常是较"一"的一方)建立多对一的关系。
在关系数据库中,这种关系通过外键实现。
在Hibernate中,我们可以通过注解或XML配置来映射这种关系。
假设我们要建立一个简单的图书和作者的many-to-one关系映射。
一个作者可以写多本图书,而一本图书只能由一个作者所写。
我们先创建一个Author类和一个Book类。
Author类包含作者的姓名、年龄等属性,并与多个Book对象建立关联,通过"books"字段来表示与图书的关系。
Book 类包含图书的名字、出版日期等属性,并通过"author"字段与一个Author 对象建立关联,表示与作者的关系。
javapublic class Author {private Long id;private String name;private int age;private List<Book> books;省略getter和setter方法}public class Book {private Long id;private String name;private LocalDate publishDate;private Author author;省略getter和setter方法}在Author类中,我们可以使用OneToMany注解来建立与Book对象的关联,并通过设置cascade属性来实现级联操作。
hibernate反向工程生成pojo类
Hibernate反向工程生成pojo的配置
打开Hibernate Configurations 视图, 菜单Window -> Show View -> Other...
在Hibernate Configurations 视图空白区域右建Add Configurations ,这里名称我填写的“hibernate” ,你可以命名为其它,一会儿会被调用
弹出配置窗口如下
Project : Browse 选择一个需要反向工程的project
Database Connection: Hibernate Configured connection Configuration File: Setup
填写数据连接相关内容,如IP,数据库名称,账户,密码等点Finish 完成配置
下面开始根据配置创建反向生成代码
双击或右建菜单new 一个配置
修改配置名称后,点Apply 按钮生效
Console configuration: 选择刚才创建的hibernate 配置
Output directory :输出目录选择项目名称\src 目录
Package 名称我填的www.db.pojo 你可以随便起名,这个包会自动创建切换到Exporter 标签页继续设置
点Apply 按钮完成设置,点Run 按钮即可根据数据库生成JAVA 实体类了
运行结果如下
由于生成的实体类实现了java.io.Serializable 所以会有黄色感叹号,右键生成一个。
hibernate反向生成数据库表
hibernate 反向生成数据库表第一步:添加Hibernate jar 包,hibernate.cfg.xml 写好数据源.hibernate.cfg.xml:<!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""/hibernate-configuration-3.0.dtd">< hibernate-configuration><session-factory><property name="hibernate.connection.url">jdbc:mysql://localhost/test</property><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="ername">root</property><property name="hibernate.connection.password">root</property><property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><property name="hibernate.show_sql">true</property><mapping resource="com/bc/bean/HomeBusiness.hbm.xml"/></session-factory>< /hibernate-configuration>第二步:编写实体类;package com.bc.bean;import java.util.Date; public class Business ( private Integer uld;private String uName;private Date hirDate;private int zStoreNum;private int zBranchNum;private int zTradNum;private int sStoreNum;private int sBranchNum;private int sTradNum;private int bStoreNum;private int bBranchNum;private int bTradNum;private int totalNum;private String home;public Business() (super();}public Integer getuId() (return uId;}public void setuId(Integer uId) (this.uId = uId;}public String getuName() (return uName;}public void setuName(String uName) ( this.uName = uName;}public Date getHirDate() {return hirDate;}public void setHirDate(Date hirDate) { this.hirDate = hirDate;}public int getzStoreNum() (return zStoreNum;}public void setzStoreNum(int zStoreNum) ( this.zStoreNum = zStoreNum; }public int getzBranchNum() (return zBranchNum;}public void setzBranchNum(int zBranchNum) ( this.zBranchNum = zBranchNum; }public int getzTradNum() (return zTradNum;}public void setzTradNum(int zTradNum) ( this.zTradNum = zTradNum;}public int getsStoreNum() (return sStoreNum;}public void setsStoreNum(int sStoreNum) ( this.sStoreNum = sStoreNum;}public int getsBranchNum() (return sBranchNum;}public void setsBranchNum(int sBranchNum) ( this.sBranchNum = sBranchNum; }public int getsTradNum() (return sTradNum;}public void setsTradNum(int sTradNum) ( this.sTradNum = sTradNum;}public int getbStoreNum() (return bStoreNum;}public void setbStoreNum(int bStoreNum) ( this.bStoreNum = bStoreNum;}public int getbBranchNum() (return bBranchNum;}public void setbBranchNum(int bBranchNum) ( this.bBranchNum = bBranchNum; }public int getbTradNum() (return bTradNum;}public void setbTradNum(int bTradNum) ( this.bTradNum = bTradNum;}public int getTotalNum() (return totalNum;}public void setTotalNum(int totalNum) ( this.totalNum = totalNum; }public String getHome() (return home;}public void setHome(String home) ( this.home = home;}第三步:编写实体类映射文件HomeBusiness.hbm.xml<?xml version="1.0"?>< !DOCTYPE hibernate-mapping PUBLIC”-//Hibernate/Hibernate Mapping DTD 3.0//EN""/hibernate-mapping-3.0.dtd">< hibernate-mapping package="com.bc.bean"><class name="HomeBusiness" table="t_HomeBusiness"><id name="id" type="ng.Integer"><column name="id" precision="6" scale="0" /><generator class="native"></generator></id><property name="name" column="name"/><property name="one" column="one"/><property name="two" column="two"/><property name="three" column="three"/><property name="four" column="four"/><property name="five" column="five"/><property name="totalNum" column="totalNum"/><property name="home" column="home"/><property name="team" column="team"/></class>< /hibernate-mapping>第四步:Main执行创建ExportDB.javapackage com.test.bean.test;import org.hibernate.cfg.Configuration;import org.hibernate.tool.hbm2ddl.SchemaExport;public class ExportDB {public static void main(String[] args) {//读取hibernate.cfg.xml 文件Configuration cfg = new Configuration。
hibernate逆向工程
在实际的开发过程中,涉及的表太多了,一个一个的写java实体类很费事费时的。
Myeclipse 提供了一个简单的方法:Hibernate逆向工程。
在这里将详细介绍使用myeclipse逆向生成Hibernate工程。
1、准备工作首先你必须提供一个数据库,并且需要完整、正确处理他们之间的关系。
2、第一步Window-->open Perspective-->MyEclipse Database Exploere在这个视图的左边单击选择"New",会出现如下这个图:按照特定的数据库填写正确。
单击"NEXT"。
出现如下界面:最后"Finish"完成。
当然这里也可以不用进行这个步骤。
3、第二步新建一个Web工程项目。
选中该项目然后:MyEclipse-->Project--->add Hibernate Capabilities。
操作之后会出现如下界面:NextNextNext对于这步中,我选中去掉自动生成的HibernatesessionFactory工具类,该工具类就是一个回去Session的单例。
完成后,打开项目就可以看到:3、第三步:重新回到MyEclipse Database Exploere界面。
选中刚刚配置的SQLServerDriver,右击选中open connection,完成后就会出现如下界面:在dbo-->table中选中相应的表,右击选中Hibernate Reverse Engineering。
如上。
然后出现:NextNext最后:这样就完成了Hibernate的逆向工程了............。
hibernate反向生成示例(插件+ant)
视图中显示如下:
打开database就能查看当前数据库下的所有表信息。
4.工具栏中建立hibernate code的执行图标,便于代码执行。
依次选择Customize Perspective->Commands->Hibernate Code Generation,如下图:
前面讲述的使用插件生成PO比较繁琐,使用ant的脚本执行反向生成会比较快捷和方便一些。
环境配置如下:
Eclipse3.6(使用自带ant)
依赖jar包列表(hibernate tools插件里全部包含)
1.编写ant脚本如下
解释:
Hbm2hbmxml的task负责生成xml,基于配置时候开启
Hbm2java生成po,jdk=true基于配置,ejb3=true基于注解
加入后如图:
选择插件列表下的,Web and Java EE Development > Hibernate tools,然后一路next按提示进行安装,最后重启eclipse完成插件安装。
2.建立一个java project或者在已有项目的源文件夹上点击右键,依次选择new>other>hibernate>Hibernate Configuration File,如下图:
点击next,创建hibernate配置文件,输入参数如下:
点击finish完成配置文件的创建。
3.打开hibernate配置窗口。通过Window->Show View->Other->Hibernate->HibernateConfigurations,打开hibernate configurationsview。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于注解的PO生成步骤
在基于SSH开发的项目中,基于数据库表创建PO类是一件枯燥的体力劳动,不管是基于XML的还是基于Anotation的,如果手工编码的话,都是非常耗费时间的。
本文主要讲解使用eclipse的hibernate tools插件自动反向生成PO的步骤,可以提高工作效率,避免上述问题。
演示环境:
●Eclipse 3.6
●JDK1.5
●Hibernate tools 3.3
●项目中添加对应数据库的驱动。
如ojdbc14.jar.
1.插件安装
打开eclipse,在菜单上依次选择Help>install new software,选择add,加入可用的插件站点。
name自定义,
location为:/jbosstools/updates/stable
加入后如图:
选择插件列表下的,Web and Java EE Development > Hibernate tools,然后一路next 按提示进行安装,最后重启eclipse完成插件安装。
2.建立一个java project或者在已有项目的源文件夹上点击右键,依次选择
new>other>hibernate>Hibernate Configuration File,如下图:
点击next,创建hibernate配置文件,输入参数如下:
点击finish完成配置文件的创建。
3.打开hibernate配置窗口。
通过Window->Show View->Other->Hibernate->Hibernate
Configurations,打开hibernate configurations view。
在视图窗口上点击右键,选择add configuration,填入信息如下图:
名字任意指定,生成类型选择注解,选择项目和上述建立的配置文件,点击ok。
视图中显示如下:
打开database就能查看当前数据库下的所有表信息。
4.工具栏中建立hibernate code的执行图标,便于代码执行。
依次选择Customize Perspective->Commands->Hibernate Code Generation,如下图:
在工具栏上创建成功。
5.配置code生成文件,在上述工具栏上点击hibernate code Generation Configerations,
填入如下信息:
注意选择reverse选项,设置输出文件夹,设置反向生成的reveng.xml文件。
点击setup新建一个reveng.xml的配置文件,如下图:
选择hibernate的配置文件,并加入所需要反向转换的表,点击finish。
在上述代码code generation界面选择代码生成方式,如下图
注意勾选生成注解。
一般不选择建立DAO的模版,大多数项目都会建立适合自己项目的DAO基类。
配置完毕后点击run,执行代码的反向生成。
生成代码示例如下:。