使用Myeclipse为数据表创建hibernate实体对象

时间:2022-09-03 15:04:02

hibernate是orm框架的一种,orm即Object Relational Mapping,对象映射关系,其主要作用是将数据库(mysql,mssql,oracle)的对象转换为具体编程语言(如java)较为熟悉的类型,对于java而言,就是一个pojo对象。在做web项目的时候,我们需要把数据库表转换为java实体对象,当然我们可以根据数据表去手写这些java对象,但是这是件很麻烦的事情,而且容易出错。所以我们需要工具。本篇介绍使用Myeclipse来创建hibernate实体对象。

1.去下载一个Myeclipse(版本在10及以上,我这边用的是10)。随便创建一个项目,并在项目中创建一个包,比如说com.xdx.entity。我们后续创建的实体对象将放入这个包中。

2.建立数据连接

首先调出DB browser窗口,如图所示。

使用Myeclipse为数据表创建hibernate实体对象

可以看到在DB browser窗口中已经创建了几个数据库的连接,如下图所示。

使用Myeclipse为数据表创建hibernate实体对象

为了演示如何创建一个连接,我们单击上述任意一个连接,右键-->new

使用Myeclipse为数据表创建hibernate实体对象

进入如下新建窗口,用红圈圈起来的各项均为必填。

使用Myeclipse为数据表创建hibernate实体对象

首先是Driver template,驱动模板,看我们用的是什么数据库,就选什么模板,此处我们使用的是mysql,所以选择的是MySql Connector/J。

其次是Driver name,这是我们自己起的名字,比如我起名叫xdx_mysql.

再次是connection URL,这是数据库的连接语句。不难理解。我的数据库连接语句为  jdbc:mysql://xxx.xxx.xxx.xxxx:3306/qgranite ,前面xxx部分为数据库服务器所在的ip地址。

然后就是数据库的登录名和密码了,

第二部分的Driver jars是驱动的jar包,不同的数据库软件有不同的jar包,这边的mysql,我们用的是mysql-connector-java-5.1.44-bin.jar这个jar包,下载地址

driver classname我们填写com.mysql.jdbc.Driver。

当这些都填好以后,如下图所示。

使用Myeclipse为数据表创建hibernate实体对象

我们可以点击Test Driver来测试连接是否可行。他会叫你输入登录密码。我们可以选择Save password,这样就不用每次都输入密码了。

使用Myeclipse为数据表创建hibernate实体对象

输入密码,如果上述配置无误,将会提示连接成功,如下图所示。

使用Myeclipse为数据表创建hibernate实体对象

然后我们点击next,进入下面的界面。

使用Myeclipse为数据表创建hibernate实体对象

接下来点击finish就可以了。

3.使用上述的连接创建hibernate实体。

首先我们要打开连接

使用Myeclipse为数据表创建hibernate实体对象

打开连接以后,我们可以看到该连接下罗列了所有的数据库。

使用Myeclipse为数据表创建hibernate实体对象

展开qgranite

使用Myeclipse为数据表创建hibernate实体对象

选择我们要创建的实体所对应的表,比如此处我们选择t_log。右键。

使用Myeclipse为数据表创建hibernate实体对象

进入如下页面,需要填写生成实体所要放置的项目和包,就是我们在第一步的时候创建的项目和包。并可以选择是否生成hbm.xml文件,或者生成带注解的hibernate  pojo。此处我选择了生成hbm.xml文件。

使用Myeclipse为数据表创建hibernate实体对象

点击next.Id generator是指主键的生成方式,如果是自增,则选择native,如果是手动生成,则选择assigned。

使用Myeclipse为数据表创建hibernate实体对象

继续next.

使用Myeclipse为数据表创建hibernate实体对象

finish。

稍等片刻,我们就可以在com.xdx.entity这个包中看到所生成的实体文件了。

使用Myeclipse为数据表创建hibernate实体对象

4.我们来看看数据库的表结构和生成的hibernate实体文件。

表结构

使用Myeclipse为数据表创建hibernate实体对象

java文件。

package com.xdx.entity;

import java.sql.Timestamp;

/**
* TLog entity. @author MyEclipse Persistence Tools
*/ public class TLog implements java.io.Serializable { // Fields private Integer logId;
private String operator;
private String event;
private Timestamp createTime;
private Integer isDel; // Constructors /** default constructor */
public TLog() {
} /** minimal constructor */
public TLog(Timestamp createTime, Integer isDel) {
this.createTime = createTime;
this.isDel = isDel;
} /** full constructor */
public TLog(String operator, String event, Timestamp createTime,
Integer isDel) {
this.operator = operator;
this.event = event;
this.createTime = createTime;
this.isDel = isDel;
} // Property accessors public Integer getLogId() {
return this.logId;
} public void setLogId(Integer logId) {
this.logId = logId;
} public String getOperator() {
return this.operator;
} public void setOperator(String operator) {
this.operator = operator;
} public String getEvent() {
return this.event;
} public void setEvent(String event) {
this.event = event;
} public Timestamp getCreateTime() {
return this.createTime;
} public void setCreateTime(Timestamp createTime) {
this.createTime = createTime;
} public Integer getIsDel() {
return this.isDel;
} public void setIsDel(Integer isDel) {
this.isDel = isDel;
} }

xml文件。

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.xdx.entity.TLog" table="t_log" catalog="qgranite">
<id name="logId" type="java.lang.Integer">
<column name="log_id" />
<generator class="native" />
</id>
<property name="operator" type="java.lang.String">
<column name="operator" length="50" />
</property>
<property name="event" type="java.lang.String">
<column name="event" length="500" />
</property>
<property name="createTime" type="java.sql.Timestamp">
<column name="create_time" length="19" not-null="true" />
</property>
<property name="isDel" type="java.lang.Integer">
<column name="is_del" not-null="true" />
</property>
</class>
</hibernate-mapping>

使用Myeclipse为数据表创建hibernate实体对象的更多相关文章

  1. myeclipse通过数据表生成jpa或hibernate实体---https&colon;&sol;&sol;blog&period;csdn&period;net&sol;partner4java&sol;article&sol;details&sol;8560289

    myeclipse通过数据表生成jpa或hibernate实体-----https://blog.csdn.net/partner4java/article/details/8560289

  2. MySQL 数据表创建及管理

    use stuinfo; -- 指定当前数据库 CREATE table if not exists student1( -- 创建数据表student1 sNo ) not NULL, sName ...

  3. Hibernate实体对象三种状态

    Hibernate实体对象生命周期: 1. *状态(Transient,临时状态,瞬态) 在内存中*存在,与数据库无关,未被Hibernate的Session管理 2. 持久状态(Persiste ...

  4. MyEclipse 从数据库反向生成Hibernate实体类

    第一个大步骤 window-->open Perspective-->MyEclipse Java Persistence 进行了上面的 操作后会出现一个视图DB Brower:MyEcl ...

  5. MySQL(4):数据表创建

    数据库是表的容器,表,必须属于某个数据库. 可以通过.语法,指明数据表所属的数据库 比如:database.table 进行表操作的时候,都会指定当前的默认数据库. use db_name; 1.创建 ...

  6. oracle数据表创建分区与查询

    场景: 遇到1亿数据量的数据需要根据用户名做些数据统计分析,想直接做些聚合计算基本没可能,于是打算先根据日期按照年月创建分区,然后对各个分区分别进行统计,最后汇总结果. 有两种方法,分别是手工设置分区 ...

  7. 数据库创建&amp&semi;数据表创建

    --第2_1题创建数据库 create database Student201038897041 on primary (name='student1', filename='F:\coures\SQ ...

  8. Django商城项目笔记No&period;18商品部分-数据表创建

    数据库表设计 在电商中对于商品,有两个重要的概念:SPU和SKU SPU = Standard Product Unit (标准产品单位) SPU是商品信息聚合的最小单位,是一组可服用.易检索的标准化 ...

  9. 使用Sql语句快速将数据表转换成实体类

    开发过程中经常需要根据数据表编写对应的实体类,下面是使用sql语句快速将数据表转换成对应实体类的代码,使用时只需要将第一行'TableName'引号里面的字母换成具体的表名称就行了: declare ...

随机推荐

  1. 关于Spring&sol;Hibernate 3&period;x升级4&period;x的小问题

    情景:   之前版本 现在版本 JDK 1.7 1.8 Tomcat v7.0 v8.0 Spring 3.x 4.x Hibernate 3.x 4.x MySQL 忘了 5.1.53 分析: 如果 ...

  2. 在jsp中用EL 表达来获取表单中的参数

     在一个JSP页面转到另一个JSP页面时,对表单中的参数用EL表达式提取为:     <form action="sampleJsp.jsp" method="po ...

  3. PHP学习笔记&comma;自己动手写个MVC的框架

    最新在大家自己的博客的过程中,发现各种开源的博客系统都或多或少的用起来别扭.于是想动手自己写个博客系统.既然写,就想好好写.那就先写个MVC框架.一点一点来.写的过程中有很多想法.还希望大家能够多多指 ...

  4. Ajax页面的加载数据与删除

    1.数据库找一张表: 颜色表2.主页面主页面的代码用到tbody:TBODY作用是:可以控制表格分行下载,从而提高下载速度.(网页的打开是先表格的的内容全部下载完毕后,才显示出来,分行下载可以先显示部 ...

  5. 【SSH】---【Struts2、Hibernate5、Spring4】【SSH框架整合笔记 】

    一.为什么要使用接口? 三层体系架构上层调用下层的时候最好使用接口,比如action层调用service的时候,private IUserDAO userDAO;这里将属性定义为接口,调用DAO的时候 ...

  6. CSS3 box-sizing的作用

    设置CSS盒模型为标准模型或IE模型.标准模型的宽度只包括content,二IE模型包括border和padding box-sizing属性可以为三个值之一: content-box,默认值,bor ...

  7. linux 如何删除文件夹下面的文件和文件夹,只保留两个文件

    # 删除目录下那两个文件之外的所有文件 find dir/ -type f ! -name file1 -a ! -name file2 | xargs rm -f   # 删除所有空目录(非空目录不 ...

  8. 基于&period;htaccess的Web Shell工具htshells

    基于.htaccess的Web Shell工具htshells   .htaccess文件是Apache服务器的配置文件.它负责相关目录下的网页配置.一旦用户获得修改该文件的权限,就可以基于该文件构建 ...

  9. Android Security Internals

  10. easyui-layout系列之布局(1)

    1.Layout布局 通过 $.fn.layout.defaults 重写默认的 defaults. 布局(layout)是有五个区域(北区 north.南区 south.东区 east.西区 wes ...