使用Hibernate根据数据库表生成POJO和映射文件

Java的SSH工程中实体类、映射文件、数据库表会因为大小写或是数据类型等对不上号,就运行不了。所以使用自动生成不但节省时间还可以避免低级错误,如果能再灵活运用一下,还会使开发效率提高不少。

首先,写一下自动生成的步骤,我是使用的Eclipse,主要分三步:
1、切换到DB视图,配置Eclipse连上数据库
2、切换到Java视图,在工程里Add Hibernate Capabilities,配置好上一步增加的数据库
3、切换到Hibernate视图,选中需要的表生成即可。

其次,写一下常用的Hibernate功能。
比如:我需要查询的内容是每个老师名下的学生,教师表里只记录了学生的id,现在不但要显示学生id还要显示学生姓名,但是学生姓名在另一张学生信息登记表里。有3种办法可以解决:一是,后台sql查询完,返回的结构体和任何一个实体表都对不上,那就再新建一个实体类和一个不映射数据库的Hibernate映射表,来存储这个结果。二是,前端查一遍教师表,再查一遍学生信息表,综合下再显示。三是,利用Hibernate配置下自动完成两张表的信息查询。

<?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">
<hibernate-mapping package="com.order.cc.chats.chatRecord.entity">
    <class name="AEntity" table="TABLE_A">

        <id name="id" type="java.lang.Integer">
            <column length="40" name="ID" />
            <generator class="increment"> </generator>
        </id>
        <property name="grade" column="GRADE" length="50" />
        <property name="teacherid" column="TEACHERID" length="50" />
        <property name="time" column="TIME" length="40" />
        <property name="name" type="string"
                  formula="(select t.namefrom detail t where t.id=ID)"
                  update="false"
                  insert="false"/>
    </class>
</hibernate-mapping>

注意,上边那个update=”false” insert=”false”,说明这个字段在插入和更新时不启用,只在查询时启用。手动点赞。


附:自动生成的具体步骤:https://jingyan.baidu.com/article/27fa7326e9ef8b46f8271f2a.html

  1. 创建数据库,创建相应的表

    用MyEclipse自动生成hibernate映射文件和实体类
  2. 点击图标,选择MyEclipse Datebase Explorer

    用MyEclipse自动生成hibernate映射文件和实体类
  3. 右击空白区域,选择new菜单,根据提示创建数据库连接,创建好后会显示你所创建的连接名,如图mysqldb是我创建的数据库连接

    用MyEclipse自动生成hibernate映射文件和实体类
    用MyEclipse自动生成hibernate映射文件和实体类
  4. 选择需要添加hibernate映像文件的工程右击—>MyEclipse–>Add Hibernate Capabilities

    用MyEclipse自动生成hibernate映射文件和实体类
  5. 出现如图提示,根据提示下一步,不需要改动东西

    用MyEclipse自动生成hibernate映射文件和实体类
  6. 出现如图提示,选择刚刚创建的数据库连接名,继续下一步,最后finish

    用MyEclipse自动生成hibernate映射文件和实体类
    7

    刚刚自动生成的东西,有HibernateSessionFactory.java 和 hibernate.cfg.xml

    用MyEclipse自动生成hibernate映射文件和实体类>
  7. 到MyEclipse Datebase Explorer中刚刚新建的数据库连接选中所有表,点击右键—>Hibernate Reverse Enginnering 选中目录存放将要反转出来的实体类查看是否选中Update Hibernate configuration..若没有自己勾选一下,下一步,如图可以设置每张表中id增长方式,及生成的映射文件名称

    用MyEclipse自动生成hibernate映射文件和实体类
    用MyEclipse自动生成hibernate映射文件和实体类
    用MyEclipse自动生成hibernate映射文件和实体类
    用MyEclipse自动生成hibernate映射文件和实体类
  8. 回到my eclipse enterprise视图下,所有实体类以及配置文件已生成

    用MyEclipse自动生成hibernate映射文件和实体类
    END
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值