配置hibernate环境

本文详细介绍了如何使用IDEA配置Hibernate开发环境,包括所需Jar包的下载与配置、数据库的创建及基本操作,并展示了核心配置文件及实体类的编写。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载hibernate所需的jar包

链接: Hibernate官网.

  • 用idea创建一个web项目 Create New Project–>选择Java Enterprise–>勾选Web Application–>Project SDK选择jdk版本–>next–>填写项目名–>finish在这里插入图片描述

在这里插入图片描述

  • 在WEB-INF目录下创建lib文件夹,导入前面索下载的jar包(下载文件解压后有一个lib文件夹,在lib文件夹下有一个required文件夹,将该文件夹下的所有jar包导入项目中)这里我用的是mysql5.5,导入对应的mysql驱动包(我所用的mysql驱动下载mysql5.1.32驱动下载),导入jar包后,右键lib,点击Add as Library
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

创建数据库

-- 创建test数据库
DROP DATABASE IF EXISTS  `student`;
CREATE DATABASE `student`;

-- 选择test数据库
USE test;

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- 创建Student表
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student`  (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(80) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `sex` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `birthday` date NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

SET FOREIGN_KEY_CHECKS = 1;

  • 在src下创建hibernate核心配置文件hibernate.cfg.xml
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD//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>
        <!--连接url-->
        <property name="connection.url">jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF-8</property>
        <!--用户名-->
        <property name="connection.username">root</property>
        <!--密码-->
        <property name="connection.password">root</property>
        <!--数据库方言-->
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
        <!--显示SQL语句-->
        <property name="show_sql">true</property>
        <!--格式化SQL语句-->
        <property name="format_sql">true</property>
        <!--关系映射-->
        <mapping class="entity.Student"/>
        <mapping resource="entity/Student.hbm.xml"/>
    </session-factory>
</hibernate-configuration>
  • student类
package entity;

import java.util.Date;

/**
 * student实体类
 *
 * @author Hervery
 */
public class Student {

    private int id;
    private String name;
    private String sex;
    private Date birthday;

    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 String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public Date getBirthday() {
        return birthday;
    }
    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
}

  • Student.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>
    <class name="entity.Student" table="student">
        <id name="id" column="id">
            <generator class="identity"/>
        </id>
        <property name="name" column="name"/>
        <property name="sex" column="sex"/>
        <property name="birthday" column="birthday"/>
    </class>
</hibernate-mapping>

  • StudentTest类
package test;

import entity.Student;
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 java.text.ParseException;
import java.text.SimpleDateFormat;

/**
 * @author Hervery
 */
public class StudentTest {
    public static void main(String[] args) throws ParseException {
        Configuration configure = new Configuration().configure();
        StandardServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build();
        SessionFactory sessionFactory = configure.buildSessionFactory(serviceRegistry);
        Session session = sessionFactory.openSession();
        Student student = new Student();
        student.setName("Tom");
        student.setSex("male");
        student.setBirthday(new SimpleDateFormat("yyyy-MM-dd").parse("2020-09-27"));
        session.save(student);
        session.beginTransaction().commit();
        session.close();
        sessionFactory.close();
        serviceRegistry.close();
    }
}

运行结果

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值