Hibernate入门(1)——环境搭建

什么是Hibernate?为什么使用Hibernate?Hibernate有什么优缺点?网上很多大神的文章又详细又通俗易懂。


 

步骤:

1、创建数据库表格

2、编写JavaBean实体类

3、下载Hibernate用到的的Jar包

4、创建Web工程。

5、导入需要的Jar包(我们下载的可能有些是不需要的,只要导入用到的jar包就行)。

6、创建类与表结构的映射(javabean实体类中属性和相应表格的列的映射)。

7、编写Hibernate配置文件

8、编写测试类。


 

具体实现:

1、创建数据表格

为了方便,我们之创建一个简单的表格用于测试就行了。

表格名字叫 user,里面有四列 id,username,pwd ,cellphone

SQL代码

1 //创建数据库
2 CREATE DATABASE Hib_test;
3 //创建数据表格
4 CREATE TABLE user(
5   id INT,
6   username VARCHAR(30),
7   pwd VARCHAR(30),
8   cellphone VARCHAR(11) 
9 )
View Code

输出结果:

注释

使用的数据库是MySql,使用的界面操作工具是SQLyog

 2、编写JavaBean实体类

我们写一个个JavaBean的实体类。

JAVA代码

 1 package com.hibernate.test;
 2 
 3 public class User {
 4     private int id;
 5     private String username;
 6     private String pwd;
 7     private String cellphone;
 8     public int getId() {
 9         return id;
10     }
11     public void setId(int id) {
12         this.id = id;
13     }
14     public String getUsername() {
15         return username;
16     }
17     public void setUsername(String username) {
18         this.username = username;
19     }
20     public String getPwd() {
21         return pwd;
22     }
23     public void setPwd(String password) {
24         this.pwd = password;
25     }
26     public String getCellphone() {
27         return cellphone;
28     }
29     public void setCellphone(String cellphone) {
30         this.cellphone = cellphone;
31     }
32     
33 }
View Code

3、下载Hibernate用到的的Jar包

下载地址:http://sourceforge.net/projects/hibernate/files/hibernate-orm/5.0.7.Final/hibernate-release-5.0.7.Final.zip/download

下载下来,解压后的目录为:

Hibernate入门(1)——环境搭建_第1张图片

lib文件夹里面是框架所包含的jar包

project文件里面是项目案例

document文件夹是教程以及API等

4、创建Web工程。

创了个叫HibernateDemo的Web项目。

Hibernate入门(1)——环境搭建_第2张图片

 

5、导入需要的Jar包

   a、Hibernate需要的核心包,就是解压出来的目录(hibernate-release-5.0.7.Final\lib\required)下的所有jar包。

   b、导入数据库驱动包,我用的的是MySql所以导入MySql的依赖包,这个jar包需要网上下载,网上有很多。

将下面的这些jar包复制到项目里的WebContent/WEB-INF/lib目录下面

Hibernate入门(1)——环境搭建_第3张图片

 

 6、创建类与表结构的映射文件

创建表结构的映射就是一个xml文件,他可以告诉Hibernate哪个数据表和哪个JavaBean类相关联的。

这个表结构映射的xml文件有一定要要求或者说是规范吧:

  a、命名规范,一般是:类的名字.hbm.xml

    在上面的例子中就是:User.hbm.xml。

   b、存放位置:一般把则个文件与他的Java类放在一起。

映射文件:

 1 xml version="1.0" encoding="UTF-8"?>
 2 DOCTYPE hibernate-mapping PUBLIC 
 3     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 4     "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">  
 5 <hibernate-mapping>
 6     
 7     <class name="com.hibernate.test.User"  table="user">
 8         
 9         <id name="id" column="id">
10             
11             <generator class="native"/>
12         id>
13         
14         <property name="username" column="username"/>
15         <property name="cellphone" column="cellphone"/>
16         <property name="pwd" column="pwd"/>
17     class>
18 hibernate-mapping>
View Code

注释

映射文件模板大多都一样的,可以在下载的案例中找到一个模板,然后做写修改就行。详细的属性之后再详细讨论。


    
        
            
        
        
    

 7、编写Hibernate配置文件

 跟上面的映射文件一样,这个核心配置文件也是一个xml文件,你可以在(hibernate-release-5.0.7.Final\project\etc)目录下找到这个文件的模板。然后做一些修改,应用到自己的项目里。

还是跟上面的映射文件一样,这里的文件也有一定的要求:

  a、文件名为:hibernate.cfg.xml (这里的cfg是configure的缩写?)

  b、文件放在src目录下。

配置文件的属性:

  a、必须配置:数据库链接配置

    数据库驱动
    数据库链接url
    数据库用户名
    数据库密码
  b、必须配置:数据库方言,用来生成适应不同数据库sql语句的配置。

    

  c、必须配置:引入配置文件的配置

    

  d、可选配置:用于把Hibernate生成的sql语句输出到控制台的配置,为了调试方便我们可以用这些配置查看Hibernate对数据库执行了哪些sql语句等等。   

    
    true
    
    true
    
    create

 

 

 

 

 

 

Hibernate配置文件的具体修改后的样子:

 1 xml version='1.0' encoding='utf-8'?>
 2 DOCTYPE hibernate-configuration PUBLIC
 3         "-//Hibernate/Hibernate Configuration DTD//EN"
 4         "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
 5 <hibernate-configuration>
 6     
 7     <session-factory>
 8 
 9         
10         <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driverproperty>
11         <property name="hibernate.connection.url">jdbc:mysql:///Hib_testproperty>
12         <property name="hibernate.connection.username">rootproperty>
13         <property name="hibernate.connection.password">123456property>
14         
17         <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialectproperty>
18         
19         
20         <property name="hibernate.show_sql">trueproperty>
21         
22         <property name="hibernate.format_sql">trueproperty>
23         
24         <property name="hibernate.hbm2ddl.auto">createproperty>
25 
26         
27         <mapping resource="com/hibernate/test/User.hbm.xml"/>
28 
29     session-factory>
30 hibernate-configuration>
View Code

 8、编写测试类。

测试类代码 package com.app.test;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;

 1 import org.hibernate.cfg.Configuration;
 2 
 3 import com.hibernate.test.User;
 4 
 5 public class App {
 6 
 7     public static void main(String[] args) {
 8      //新New一个User对象,然后设置其的值
 9         User user=new User();
10         user.setPwd("123456");
11         user.setUsername("Eastry");
12         user.setId(333);
13         user.setCellphone("1234567");
14      //加载配置文件,默认加载的是src目录下的hibernate.cfg,xml文件,当然也可以给一个加载的路径,这样的话配置文件就不一定要放在src目录下面了
15         Configuration configuration=new Configuration();
16         configuration.configure();
17      //创建Session工厂,用来获取Session对象
18      SessionFactory factory=configuration.buildSessionFactory();
19         Session session=factory.openSession();
20      //开启事务
21         Transaction transaction=session.getTransaction();
22         transaction.begin();
23      //保存操作
24         session.save(user);
25      //提交事务
26         transaction.commit();
27      //释放资源
28         session.close();
29 
30         System.out.println("successful!");
31     }
32 
33 }
View Code

输出:

Hibernate入门(1)——环境搭建_第4张图片


 

上面我尝试了保存一个javaBean对象到数据库里。

Hibernate还 可以读取数据库的数据把数据映射到一个JavaBean对象上面。

之后再讨论。


 

转载于:https://www.cnblogs.com/Eastry/p/10422564.html

你可能感兴趣的:(Hibernate入门(1)——环境搭建)