zoukankan      html  css  js  c++  java
  • 使用Myeclipse为数据表创建hibernate实体对象

    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窗口,如图所示。

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

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

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

    首先是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。

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

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

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

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

    接下来点击finish就可以了。

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

    首先我们要打开连接

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

    展开qgranite

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

     

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

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

    继续next.

    finish。

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

    4.我们来看看数据库的表结构和生成的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>
    

     

     

     

  • 相关阅读:
    Git知识总览(四) git分支管理之rebase 以及 cherry-pick相关操作
    基于visual Studio2013解决算法导论之002归并排序
    基于visual Studio2013解决算法导论之001插入排序
    android用户界面之ScrollView教程实例汇总
    android ScrollView--Linearlayout可以上下拖动
    在 Windows Azure 网站上使用 Django、Python 和 MySQL:创建博客应用程序
    Windows Azure 网站 (WAWS) 和中间证书
    Windows Azure 社区新闻综述(#78 版)
    通过 HTTPS 和 SSL 确保 Windows Azure 网站 (WAWS) 安全
    盘点:#AzureChat
  • 原文地址:https://www.cnblogs.com/roy-blog/p/7654960.html
Copyright © 2011-2022 走看看