基于hibernate框架在eclipse下的配置方法(必看篇)

作者:匠心i 时间:2022-11-09 20:30:26 

一、ORM

O:object 对象

R:Realtion 关系(关系型数据库)

M:Mapping 映射

ORM:对象关系型映射

目前流行的编程语言,如Java、C# ,它们都是面向对象的编程语言,而目前主流的数据库产品例如Oracle、DB2等,依然是关系型数据库。编程语言和底层数据库发展的不协调(阻抗不匹配,例如数据库中无法直接实现存储继承、多态、封装等特征和行为),催生出了ORM框架。ORM框架可以作为面向对象语言和关系型数据库之间的桥梁。

二、Hibernate

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

三、hibernate框架在eclipse下的配置方法,这里我们以hibernate3.2为例,介绍一下hibernate3.2在eclipse里的配置方法:

(1)打开eclipse,设置其工作空间,点击OK,进入eclipse主界面。

(2)首先我们创建一个java项目,File->new->java Project->创建项目名称,这里我们以ones为例。

基于hibernate框架在eclipse下的配置方法(必看篇)

(3)导入我们所需要的JAR包,这里我们需要导入3类jar包,首先是hibernate3.jar,是使用hibernate时必备的库。lib文件中的所有文件。数据库连接jar包,这里以mysql数据库文件,我们需要导入的jar包是mysql.jar。这里我们创建一个用户自己的类库,可以将我们的jar包直接导入user library中,当我们再建立其他的项目时,就避免了再重新一个一个的引入jar包。

创建步骤如图所示:

基于hibernate框架在eclipse下的配置方法(必看篇)

基于hibernate框架在eclipse下的配置方法(必看篇)

(4)点击Add External JARs... 以此导入上述jar包,点击OK,finish完成操作。此时,项目名下可看到名为first的用户自定义类库。

(5)我们在src文件目录下导入hibernate.cfg.xml文件。这里我们所需要更改的内容为第7行,localhost/ones(ones更改为自己的数据库名)

第9行为mysql用户名,第10行为mysql数据库的密码。第14行代码删掉。


<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
<session-factory>
 <property name="hibernate.connection.url">jdbc:mysql://localhost/ones</property>
 <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
 <property name="hibernate.connection.username">root</property>
 <property name="hibernate.connection.password">88888888</property>
 <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
 <property name="hibernate.show_sql">true</property>

<mapping resource="com/bjsxt/hibernate/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>

(6)在src下建立用户类以及映射文件。Src右键->New->Class->选择类名,这里我们创建名为User的类。

(7)编写用户类代码(这里eclipse支持批量自动写入set/get方法)点击Source->Generate Ftters and Setters 选择全部,导入。User类已经编写完成,接下来我们编写映射文件。


package ones;

public class User {
private String id;
private String name;
private String password;
public String getId() {
 return id;
}
public void setId(String id) {
 this.id = id;
}
public String getName() {
 return name;
}
public void setName(String name) {
 this.name = name;
}
public String getPassword() {
 return password;
}
public void setPassword(String password) {
 this.password = password;
}

}

(8)选择User.hbm.xml文件,拷入Src文件夹下的包中,文件位置在hiberate\rg\org\hiberate\auction中,这里我们所要修改的代码是第6行,org.hibernate.auction改为自己项目的包名。第八行代码,可以只保留<Class name="User">,其余部分可以删掉。第九行代码删掉。将第12行的native删掉,native是配置整形数据的,我们之前设置的id为字符型,所以这里我们改为uuid,15行至50行,删掉。在<class>中编写属性,属性值等于User.java中定义的属性(不包括id)。


<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping
package="org.hibernate.auction">

<class name="User" table="AuctionUser" lazy="true">
 <comment>Users may bid for or sell auction items.</comment>

<id name="id">
  <generator class="native"/>
 </id>

<natural-id mutable="true">
  <property name="userName"
    length="10"/>
 </natural-id>

<property name="password"
   not-null="true"
   length="15"
   column="`password`"/>

<property name="email"/>

<component name="name">
  <property name="firstName"
    length="50"
    not-null="true"/>
  <property name="initial"
    column="`initial`"/>
  <property name="lastName"
    length="50"
    not-null="true"/>
 </component>

<bag name="bids"
   inverse="true"
   cascade="save-update,lock">
  <key column="bidder"/>
  <one-to-many class="Bid"/>
 </bag>

<bag name="auctions"
   inverse="true"
   cascade="save-update,lock">
  <key column="seller"/>
  <one-to-many class="AuctionItem"/>
 </bag>

</class>

</hibernate-mapping>

(9)编写后的User.hbm.xml文件如图所示:


<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping
package="ones">

<class name="User" >

<id name="id">
  <generator class="uuid"/>
 </id>

<property name="name"></property>
 <property name="password"></property>
</class>

</hibernate-mapping>

(10)编写导入类,建立名为ExportDB的类,直接产生它的主方法


package ones;

import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

public class ExportDB {

public static void main(String[] args) {
 //读取文件的配置
 Configuration cfg = new Configuration().configure();
 SchemaExport export = new SchemaExport(cfg);
 export.create(ture, ture);
}

}

(11)修改hibernate.cfg.xml中的第14行代码,将路径改为ones(包名)/User.hbm.xml

(12)在mysql数据库 中建立测试表,运行eclipse中的ExportDB文件,右键->Run As->java Application

基于hibernate框架在eclipse下的配置方法(必看篇)

来源:http://www.cnblogs.com/nedulee/archive/2017/09/24/7589069.html

标签:eclipse,配置,hibernate
0
投稿

猜你喜欢

  • Android人脸识别Demo竖屏YUV方向调整和图片保存(分享)

    2022-11-24 00:47:42
  • android开发之为activity增加左右手势识别示例

    2021-09-30 12:41:50
  • 新手了解java IO基础知识

    2023-10-20 22:19:45
  • Java中接收键盘输入的三种方法

    2023-11-13 16:11:29
  • Spring学习通过AspectJ注解方式实现AOP操作

    2023-09-22 22:09:44
  • 浅析Android TextView常用属性

    2022-12-20 00:32:18
  • java 流与 byte[] 的互转操作

    2023-06-26 11:25:46
  • Spring注解@Configuration与@Bean注册组件的使用详解

    2022-09-13 01:52:56
  • 详细分析Java Lambda表达式

    2021-06-20 04:32:19
  • SpringBoot绿叶显示yml和端口问题及解决方法

    2023-12-09 00:29:13
  • Android实现简单MD5加密的方法

    2021-10-06 19:51:04
  • web压力测试工具_动力节点Java 学院整理

    2022-03-25 00:48:21
  • Android自定义覆盖层控件 悬浮窗控件

    2021-10-21 01:14:40
  • Android Scroller实现弹性滑动效果

    2022-12-08 11:01:02
  • Android使用DocumentFile读写外置存储的问题

    2023-10-23 01:58:54
  • SpringBoot注册Servlet的三种方法详解

    2022-06-15 15:56:29
  • C#中的除法运算符与VB.NET中的除法运算符

    2022-04-01 10:52:56
  • Android基于TextView实现的跑马灯效果实例

    2023-10-07 02:45:05
  • Java实现上传文件图片到指定服务器目录

    2023-06-28 00:23:32
  • 基于Java生成GUID的实现方法

    2022-04-09 02:44:09
  • asp之家 软件编程 m.aspxhome.com