该例子使用MyEclipse2017 CI工具、MySQL数据库
一、建立数据库连接
1.在MyEclipse中建立数据库连接
在MyEclipse菜单栏中选择Window -->Show View --> Other
搜索DB Browser 点击确定
在MyEclipse布局中会显示如下图所示模块、在未配置之前只有MyEclipse Derby
在空白区域右键,选择新建New
Driver template:驱动模板,本例以mysql数据库为例,选择MySQL Connector/J
Driver name:驱动名称,随便起,本例为hibernate
Connection URL:连接路径,需要连接的数据库路径,格式必须正确,crm_hibernate为数据库名称
User name: 数据库用户名
Password:数据库密码
Driver JARs:驱动jar包,MySQL的连接jar,本例使用的是mysql-connector-java-5.1.47-bin.jar
Driver classname:驱动类名,mysql的驱动类名为com.mysql.jdbc.Driver
选中Save password
点击Test Driver测试连接,看看连接是否成功
连接成功之后,点击Next下一步。
选择模式
选择第三个,显示选定的架构,点击Add添加,选择连接的数据库名称,本例为crm_hibernate,然后点击OK,然后点击Finish
回到DB Browser模块,会出现hibernate,双击hibernate,展开会出现如下图的模式,对应你的数据库中的内容
选择你的工程,右键选择第一次配置选择Configure Facets --> Install Hibernate Facet
选择版本及运行时的环境,可以使用默认的,直接点击下一步
Hibernate config file:hibernate的配置文件,选择新建New
Configuration Folder:配置文件存放的文件夹
Configuration File Name:配置文件名称,一般默认为hibernate.cfg.xml
Create SessionFactory class:创建Session工厂类,可选项,本例中不创建,取消勾选
点击下一步Next
DataSource:数据源,选择Use JDBC Driver
DB Driver:选择刚才创建的DB,本例为hibernate
点击下一步Next
点击Finish
二、创建持久化类
回到DB Browser界面,选择表,右键选择Hibernate Reverse Engineering...
Java src folder:选择保存的位置,一般不需要改动
Java package:选择包,你想保存的包的全限定名称
Create POJO<>DB...:创建实体类与表之间的映射关系
Create a Hibernate mapping file(*.hbm.xml)for each database table:为每一个表创建一个映射文件
Add Hibernate mapping annotations to POJO(Hibernate 3.2 and above):将Hibernate映射注释添加到POJO(Hibernate 3.2及以上版本),以注解的方式
Update Hibernate configuration with mapping resource location:使用映射资源位置更新Hibernate配置
Java Data Object(POJO<>DB Table):创建持久化类
Create abstract class:一般不用为抽象的,具体看情况
Java Data Access Object(DAO)(Hibernate 3 only):创建DAO,本例不创建取消勾选
点击下一步Next
选择映射关系,具体看情况
Generate basic typed composite Ids:生成基本类型的复合ID
Generate version and timestamp tags:生成版本和时间戳标记
Enable many-to-many detection:使用多对多检测
Enable one-to-one detection:使用一对一检测
点击Next下一步
Id Generator:主键生成方式
找出有关联关系的表
Include referenced tables(A->B)
Include referenced tables(A<-B)
sys_user、sys_role都需要设置,不然可能会出现创建的持久化类和映射关系的配置文件不在指定的目录下
点击Finish
效果如下图所示:生成了SysRole.java、SysUser.java、SysRole.hbm.xml、SysUser.hbm.xml、hibernate.cfg.xml文件