一、orm
o:object 对象
r:realtion 关系(关系型数据库)
m:mapping 映射
orm:对象关系型映射
目前流行的编程语言,如java、c# ,它们都是面向对象的编程语言,而目前主流的数据库产品例如oracle、db2等,依然是关系型数据库。编程语言和底层数据库发展的不协调(阻抗不匹配,例如数据库中无法直接实现存储继承、多态、封装等特征和行为),催生出了orm框架。orm框架可以作为面向对象语言和关系型数据库之间的桥梁。
hibernate是一个开放源代码的对象关系映射框架,它对jdbc进行了非常轻量级的对象封装,使得java程序员可以随心所欲的使用对象编程思维来操纵数据库。
三、hibernate框架在eclipse下的配置方法,这里我们以hibernate3.2为例,介绍一下hibernate3.2在eclipse里的配置方法:
(1)打开eclipse,设置其工作空间,点击ok,进入eclipse主界面。
(2)首先我们创建一个java项目,file->new->java project->创建项目名称,这里我们以ones为例。
(3)导入我们所需要的jar包,这里我们需要导入3类jar包,首先是hibernate3.jar,是使用hibernate时必备的库。lib文件中的所有文件。数据库连接jar包,这里以mysql数据库文件,我们需要导入的jar包是mysql.jar。这里我们创建一个用户自己的类库,可以将我们的jar包直接导入user library中,当我们再建立其他的项目时,就避免了再重新一个一个的引入jar包。
创建步骤如图所示:
(4)点击add external jars... 以此导入上述jar包,点击ok,finish完成操作。此时,项目名下可看到名为first的用户自定义类库。
(5)我们在src文件目录下导入hibernate.cfg.xml文件。这里我们所需要更改的内容为第7行,localhost/ones(ones更改为自己的数据库名)
第9行为mysql用户名,第10行为mysql数据库的密码。第14行代码删掉。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<!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类已经编写完成,接下来我们编写映射文件。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
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)。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
<?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文件如图所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<?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的类,直接产生它的主方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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