Hibernate入门教程(一):入门示例(Myeclipse)

●项目结构

Hibernate入门教程(一):入门示例(Myeclipse)_第1张图片

●本项目所用Hibernate版本为5.4.5.Final,导入jar只需lib目录下的required和MySQL所需的jar驱动

 

 

 1.导入相关jar包(配置构建路径)

说明:本人已将所需的jar包添加到用户库,所以无需建lib目录导入jar包

鼠标在项目名右键,构建路径-->配置构建路径-->添加库-->用户库,选择所需的库

2.创建实体类User.java

package com.sve.Test;

public class User {
    private int uid;
    private String username;
    private String password;
    private String address;
    
    public int getUid() {
        return uid;
    }
    public void setUid(int uid) {
        this.uid = uid;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    
    
}
User.java

3.创建对象映射User.hbm.xml

一般跟JavaBean对象放在同一目录,后缀为 .hbm.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 package="com.sve.Test">
    
    <class name="User" table="User">
        
        
         
         
        <id name="uid" column="uid">
            
            <generator class="native">generator>
        id>
        
        
        <property name="username" column="username">property>
        <property name="password" column="password">property>
        <property name="address" column="address">property>
    class>
hibernate-mapping>
User.hbm.xml

4.创建hibernate.cfg.xml

放在src目录下,名字不可改

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.connection.driver_class">com.mysql.jdbc.Driverproperty>
        
        <property name="hibernate.connection.url">jdbc:mysql:///hibernate_demo?serverTimezone=UTCproperty>
        
        <property name="hibernate.connection.username">rootproperty>
        
        <property name="hibernate.connection.password">123456property>

        
        
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialectproperty>
        
        <property name="hibernate.show_sql">trueproperty>
        
        <property name="hibernate.format_sql">trueproperty>
        
        <property name="hibernate.hbm2ddl.auto">createproperty>

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

5.测试

package com.sve.Test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

public class Test {
    public static void main(String[] args) {
        User user=new User();
        user.setUsername("小小");
        user.setPassword("123");
        user.setAddress("天坛");
        
          
          //获取加载配置管理类
            Configuration configuration = new Configuration();
            
          //不给参数就默认加载hibernate.cfg.xml文件,
            configuration.configure();
            
            //创建Session工厂对象
            SessionFactory factory = configuration.buildSessionFactory();
            
          //得到Session对象
            Session session = factory.openSession();
            
          //使用Hibernate操作数据库,都要开启事务,得到事务对象
            Transaction transaction = session.getTransaction();
            
          //开启事务
            transaction.begin();
            
          //把对象添加到数据库中
            session.save(user);
            
          //提交事务
            transaction.commit();

            //关闭Session
            session.close();
    }
}
Test.java

运行成功后,查看相应的数据库的表是否发生改变和控制台是否有相应的语句

配置文件说明:

一.映射配置文件

1.映射配置文件位置和名称没有固定要求

2.id标签和property标签中,column属性可以省略,和name属性值一样(不建议这样做)

3.property标签type属性,设置生成表字段的类型(一般不设置,自动对应类型)

二.核心配置文件

1.核心配置文件位置和名称是固定的

2.数据库部分是必要的,Hibernate部分是可选的,映射文件是必须的

实体类编写规则:

1.实体类属性是私有的

2.私有属性使用公开的的set和get方法操作

3.要求实体类有属性作为唯一值(一般使用id)

4.实体类属性建议不使用基本数据类型,使用基本类型对应的包装类(本示例为简单示例,所以使用基本数据类型)

 hibernate主键生成策略

Hibernate入门教程(一):入门示例(Myeclipse)_第2张图片

 

 1.native:根据使用的数据库自动选择相应的值

 2.uuid:使用uuid生成策略,实体类属性类型 必须 是 字符串类型

 

 

本示例参考https://www.cnblogs.com/Java3y/p/8520601.html,在此感谢Java3y

你可能感兴趣的:(Hibernate入门教程(一):入门示例(Myeclipse))