hibernate基础01

第一步配置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>
        <!-- 1、数据库连接信息 -->
        <!-- 指定数据方言 -->
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://192.168.1.59:3306/hibernate</property>
        <property name="connection.username">root</property>
        <property name="connection.password">1234</property>
        
        <!-- 2、通用配置信息 -->
        <!-- 打印sql语句 -->
        <property name="show_sql">true</property>
        <!-- 格式化sql语句 -->
        <property name="format_sql">true</property>
        
        <!-- 映射文件信息 -->
        <mapping resource="com/project/pojo/User.hbm.xml" />
    </session-factory >
</hibernate-configuration>

第二步新建pojo类(普通JavaBean)

package com.project.pojo;

import java.io.Serializable;

public class User implements Serializable{
    private Integer id;
    private String name;
    private int age;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    @Override
    public String toString() {
        return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
    }
    
    
}

第三步:配置关联pojo的User.hbm.xml(可与pojo同包)

<?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">
<!-- package指定类所在的包,如果不指定,那么在指定class的name时,需要指定完全限定名 -->
<hibernate-mapping package="com.project.pojo">
    <!-- 
        class指定类的映射信息
            name指定类名,如果没有指定package,需要指定完全限定名(com.project.pojo.User)
            table指定类对应的数据表的表名,如果不指定默认和类名相同
     -->
    <class name="User" table="t_user">
        <!-- 
            主键映射:在hibernate中,类所对应的表必须要有主键
                name为类的属性名
                column是属性名所对应的数据表中的字段名称 默认和属性名一致
                type是属性的类型 默认和属性的类型一致
         -->
        <id name="id" column="id" type="int">
            <!-- 主键生成策略 -->
            <generator class="native"></generator>
        </id>
        <!-- property指属性的映射 -->
        <property name="name" column="name" type="java.lang.String"></property>
        <property name="age" column="age" type="int"></property>
    </class>

</hibernate-mapping>

第四步:测试是否成功

package com.project.test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;

import com.project.pojo.User;

public class Test {
    public static void main(String[] args) {
        //1、读取hibernate.cfg.xml配置文件
        Configuration cfg = new Configuration().configure();
        //2、创建服务注册器
        StandardServiceRegistry registry = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build();
        //3、新建sessionFactory对象
        SessionFactory factory = cfg.buildSessionFactory(registry);
        //4、创建session对象
        Session session = factory.openSession();
        //5、获取数据
        User user = (User) session.get(User.class, 1);
        System.out.println(user);
        //6、释放资源
        session.close();
        factory.close();
    }
}

 hibernate-release-4.3.10.Final.zip下载

猜你喜欢

转载自www.cnblogs.com/chai-blogs/p/12913573.html