首先新建一个项目,我是用的最新版5.3.2,下载jar包要等一会儿,然后取个自己的项目名,我这里就叫demo吧

我这里选择以maven方式来构建,在项目上右击,选择Add Framework Support

在之后的选择Maven

之后在项目的右下角弹出一个提示框,选择自动导入

然后在pom.xml文件下添加

 <dependencies>
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.45</version>
        </dependency>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.14.3</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/javax.activation/activation -->
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/javax.xml.bind/jaxb-api -->
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-core -->
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-core</artifactId>
            <version>2.3.0.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-impl -->
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>2.3.0.1</version>
        </dependency>
</dependencies>

然后在resources,新建一个xml文件,取名叫hibernate.cfg.xml

<?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="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>
        <property name="connection.username">root</property>
        <property name="connection.password">1</property>

        <!-- 方言 -->
        <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>

        <!-- 控制台显示sql -->
        <property name="show_sql">true</property>

        <!-- 自动更新表结构 -->
        <property name="hbm2ddl.auto">update</property>
        
        <!-- 配置Student映射文件 -->
        <mapping resource="Student.hbn.xml"/>
    </session-factory>

</hibernate-configuration>

然后在界面的右上角点击弹出的提示框,让这个文件成为hibernate的配置文件,点击项目结构按钮,就可以看到刚刚添加的配置文件了

还是在resources文件夹下,新建一个xml文件,名字叫Student.hbn.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="mode">
    <class name="mode.Student" table="t_student">
        <id name="id" column="stuId" >
            <generator class="native" />
        </id>
        <property name="name" />
    </class>
</hibernate-mapping> 

先去数据库新建一个hibernate数据库,我这里就直接叫的hibernate,先新建一个两个包,一个叫model,另一个叫util

然后在model包下新建一个实体类,名叫Student,并生成get、set方法,以及toString方法

public class Student {
    private long id;
    private String name;

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                '}';
    }
}

在util包下新建一个工具类,名叫HibernateUtil

public class HibernateUtil {
    private static final SessionFactory SESSION_FACTORY = buildSessionFactory();

    private static SessionFactory buildSessionFactory(){
        //创建服务注册对象
        ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build();
        //创建会话工厂对象
        return new MetadataSources(serviceRegistry).buildMetadata().buildSessionFactory();
    }

    public static SessionFactory getSessionFactory(){
        return SESSION_FACTORY;
    }
}

在任何一个类下按Alt+Enter,选择Create Test

 

然后在弹出的对话框中选择用TestNG来测试

然后就可以新建一个Test类了,名字就用默认就行了,然后在里面添加如下的代码

package model;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import util.HibernateUtil;

public class StudentTest {
    private SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
    private Session session;

    @BeforeMethod
    public void setUp() {
        session = sessionFactory.openSession();
        session.beginTransaction();
    }

    @AfterMethod
    public void tearDown() {
        session.getTransaction().commit();
        session.close();
    }

    @Test
    public void add(){
        Student student = new Student();
        student.setName("张三");
        session.save(student);
    }
}

然后点击左边的运行按钮运行就可以看到数据库里有表了

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐