[JAVA]Hibernate案例

  1. 第一步
  2. 第二步,创建java项目,导入jar包。
  3. 第三步
  4. 第四步
  5. 第五步
  6. 第六步
  7. 第七步

Hibernate是操作数据库的框架,实现了对JDBC的封装。

第一步

建立test数据库,准备表为student_,字段为id,name,age,结构如下

DROP TABLE IF EXISTS `student_`;
CREATE TABLE `student_`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `age` int(11) NOT NULL,
  PRIMARY KEY (`id`) USING BTREE
)

 

第二步,创建java项目,导入jar包。


 

第三步

实体类

package xyz.xioaxin12.bean;

/**
 * @author 小信
 */
public class Student {
    private int id;
    private String name;
    private int age;

    public Student(int id, String name, int age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }

    public Student() {

    }

    public int getId() {
        return id;
    }

    public void setId(int 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;
    }
}

 

第四步

实体类同包下建立Student.hbm.xml映射文件

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="xyz.xioaxin12.bean">
    <class name="Student" table="student_">
        <id name="id" column="id">
            <generator class="native"></generator>
        </id>
        <property name="name"/>
        <property name="age"/>
    </class>
</hibernate-mapping>

 

Student.hbm.xml文件首字母大写,与类名一致。

<class name=”Student” table=”student_”> :类名对应表名。


 

第五步

src目录下建立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>
        <!-- Database connection settings -->
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8</property>
        <property name="connection.username">root</property>
        <property name="connection.password">1579886070</property>
        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
        <!--Hibernate事务管理方式,即每个线程一个事务-->
        <property name="current_session_context_class">thread</property>
        <!--这表示是否在控制台显示执行的sql语句-->
        <property name="show_sql">true</property>
        <!--自动更新数据库的表结构-->
        <property name="hbm2ddl.auto">update</property>
        <mapping resource="xyz/xioaxin12/bean/Student.hbm.xml" />
    </session-factory>

</hibernate-configuration>

前面包括加载驱动,账号密码等。其他含义看注释。


 

第六步

测试类TestStudentHibernate

package xyz.xioaxin12.test;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;
import xyz.xioaxin12.bean.Student;

/**
 * @author 小信
 */
public class TestStudentHibernate {
    public static void main(String[] args) {
        SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
        Session session = sessionFactory.openSession();

        session.beginTransaction();
        Student student = new Student();
        student.setName("小信");
        student.setAge(19);

        session.save(student);
        session.getTransaction().commit();

        session.close();
        sessionFactory.close();
    }
}

实现步骤

1,获取SessionFactory ;
2,通过SessionFactory获取Session;
3,开启事务;
4,保存到数据库;
5,提交;
6,关闭Session和SessionFactory


 

第七步

查看数据表


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 xiaoxin1218@qq.com

文章标题:[JAVA]Hibernate案例

文章字数:699

本文作者:周信

发布时间:2019-10-17, 19:41:58

最后更新:2023-05-03, 10:25:35

原始链接:http://zx21.xyz/2019/10/17/JAVA-Hibernate案例/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

可为我打赏鼓励~