hibernate自动生成映射关系文件

一、 创建数据源

1、 打开数据库连接视图

1)在MyEclipse中,点击window->show view->other,如下图


 

2)在弹出的窗口中搜索db,在搜索到的列表中选择DB Browser,如下图

 


3)点击【OK】,在MyEclipse中会出现一个新的视图,如下图

 

在这个视图中,我们可以配置数据源,即数据库的连接,后面自动生成映射关系文件,需要依赖这里配置的数据源。

2、 创建数据源

1) 在DB Browser视图内,右键点击new,如下图

 

2) 在弹出的窗口中,配置数据源,如下图

 

3) 点击【Next】,弹出窗口如下图

 

4) 直接点击【Finish】即可,创建好的数据源会出现在DB Browser中,如下图

 

5) 选中这个数据源,右键点击Open connection,如下图

 

6) 此时,数据源被启用,左侧会出现一个箭头,如下图

 

3、 使用数据源

1) 逐级展开数据源左侧的箭头,可以看到该数据源下的表,如下图

 

2) 我们可以在项目中创建任意后缀为.sql的文件,打开这样的文件时,可以选择刚才配置好的数据源,如下图

 

3) 在这个文件中,可以写增、删、改、查的SQL,并点击绿色箭头执行,效果如下图

 

在执行查询后,MyEclipse会自动打开一个新视图SQL Results,这里显示了查询的结果。实际上,DB BrowserMyEclipse自带的一个数据库访问插件,可以使用它来访问数据库。但平时我们可以使用SQL Developer,功能要比这个插件强大的多,现在要想自动生成映射关系文件,就需要使用这个插件来创建数据源了。

二、 给项目添加Hibernate功能

1、 创建WEB项目

由于MyEclipse自带的插件,在创建映射关系文件时还会连带创建一些额外的文件,并且会更改项目中的一些默认的配置。为了避免其影响到我们开发的项目,因此一般我们都单独创建一个项目,专门用来生成映射关系文件,然后将其复制到开发项目中。这一步同学们都很熟悉了,我不再重复,创建好的项目如下图


 

2、 给项目添加Hibernate功能

1) 选中项目,右键点击MyEclipse->Add Hibernate Capabilities,如下图

 

2) 在弹出窗口中,选择要使用的Hibernate的版本,如下图

 

3) 点击【Next】,在弹出窗口中,选择生成的Hibernate主配置文件存放路径,以及文件名,如下图



4)点击【Next】,在弹出窗口中选择刚才创建的数据源,以及数据库方言,如下图


5) 点击【Next】,在弹出窗口中,选择生成的数据库连接工具的路径,如下图


6) 点击【Finish】,会发现项目中自动添加了驱动包、Hibernate开发包,并且自动生成了Hibernate主配置文件以及创建Session的工具类。如下图


目前,这个项目已经成为了一个受MyEclipse自动化控制的Hibernate项目了,可以使用MyEclipse自动生成映射关系文件了。

一、 自动生成文件

    1、 自动生成映射关系文件

         1) 在DB Browser中数据源下,选择要生成映射关系文件的表,并点击右键,如下图

          2) 右键点击Hibernate Reverse Engineering,在弹出窗口中做如下设置

    

        3) 点击【Next】,在弹出窗口中指定字段的映射类型,以及逐渐的生成方式,如下图

             4) 点击【Next】,在弹出窗口中,从左侧列表中选中表,然后在右侧设置生成的实体类名,以及主键生成方式,如下图

          5) 点击【Finish】,MyEclipse会根据你的设置,自动生成实体类和映射关系文件,如下图


     2、 使用生成的映射关系文件

      由于表存在外键关系,因此MyEclipse生成的实体类和映射关系文件中,会包含这些关系,可能并不是我们想要的,那么请手动删除这些不必要的内容,然后将调整好的代码复制到项目中使用即可。



  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hibernate是一个ORM框架,它可以将Java对象映射关系数据库中。当我们使用Hibernate进行数据库操作时,Hibernate自动地将我们编写的Java代码转换成相应的SQL语句,然后执行这些SQL语句。这个过程中,Hibernate生成SQL语句的方式是通过一些配置文件来实现的。其中,最重要的两个配置文件hibernate.cfg.xml和映射文件(*.hbm.xml)。 下面是一个基本的hibernate.cfg.xml文件的示例: ```xml <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- 数据库连接相关配置 --> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">root</property> <!-- Hibernate生成SQL的配置 --> <property name="hibernate.show_sql">true</property> <property name="hibernate.format_sql">true</property> <property name="hibernate.use_sql_comments">true</property> <!-- 映射文件 --> <mapping resource="com/example/entity/User.hbm.xml"/> </session-factory> </hibernate-configuration> ``` 在这个配置文件中,我们需要配置数据库连接相关的信息,如数据库的URL、用户名、密码等。除此之外,还需要配置Hibernate生成SQL语句的方式,如是否显示SQL语句、是否格式化SQL语句等。最后,我们还需要指定映射文件的位置,以便Hibernate知道如何将Java对象映射到数据库表中。 除了hibernate.cfg.xml文件,我们还需要编写映射文件(*.hbm.xml),用来描述Java对象和数据库表之间的映射关系。下面是一个示例: ```xml <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.example.entity.User" table="user"> <id name="id" type="int"> <column name="id"/> <generator class="native"/> </id> <property name="username" type="string"> <column name="username" length="20" not-null="true"/> </property> <property name="password" type="string"> <column name="password" length="32" not-null="true"/> </property> </class> </hibernate-mapping> ``` 在这个映射文件中,我们需要描述实体类User和数据库表user之间的映射关系。对于每个属性,我们需要指定它在数据库表中的列名、类型、长度等信息。最后,我们还需要指定主键的生成方式。 通过这两个配置文件Hibernate就可以自动地将Java对象映射到数据库表中,并且生成相应的SQL语句来完成数据库操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值