Hibernate基础


一、Hibernate简单介绍

  1. hibernate框架应用在javaee三层结构中 dao层框架
  2. 在dao层里面做对数据库crud操作,使用hibernate实现crud操作,hibernate底层代码就是jdbc,hibernate对jdbc进行封装,使用hibernate好处,不需要写复杂jdbc代码了,
    不需要写sql语句实现
  3. hibernate开源的轻量级的框架
  4. hibernate使用orm思想对数据库进行crud操作
  5. oem思想
    (1)让实体类和数据库表进行一一对应关系
    让实体类首先和数据库表对应
    让实体类属性 和 表里面字段对应
    (2)不需要直接操作数据库表,而操作表对应实体类对象
    在这里插入图片描述

二、Hibernate入门

idea创建纯hibernate项目

在这里插入图片描述

导入mysql的jdbc驱动包

在这里插入图片描述

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

给项目建立如下表结构

在这里插入图片描述

配置hibernate核心配置类

(1)核心配置文件格式xml,但是核心配置文件名称和位置固定的

  • 位置:必须src下面
  • 名称:必须hibernate.cfg.xml

(2)引入dtd约束
(3)hibernate操作过程中,只会加载核心配置文件,其他配置文件不会加载

<?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>
        <!--第一部分:配置数据库表信息   必须的-->
        <!--idea创建hibernate项目时,需要再单独加入mysql的JDBC驱动包-->
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql:///study_hibernate</property>
        <property name="connection.username">root</property>
        <property name="connection.password">123456789</property>
        <!--第二部分:配置hibernate信息 可选的-->
        <!--输出底层sql语句-->
        <property name="hibernate.show_sql">true</property>
        <!--输出底层sql语句格式-->
        <property name="hibernate.format_sql">true</property>
        <!--
            hibernate帮创建表,需要配置之后
            update:如果已经有表,更新,如果没有,创建
        -->
        <property name="hibernate.hbm2ddl.auto">update</property>
        <!--
            配置数据库方言
            在mysql里面实现分页 关键字limit,只能在mysql里面
            在oracle数据库,实现分页rownum
            让hibernate框架识别不同数据库的自己特有的语句
        -->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
        <!--第三部分:把映射文件放在核心配置文件中-->
        <mapping resource="pojo/User.hbm.xml"></mapping>
    </session-factory>
</hibernate-configuration>

创建实体类

package pojo;

/**
 *
 */
public class User {
   
    private int id;
    private String username;
    private String password;
    private Integer age;
    private String address;

    public User() {
   
    }

    public User(int id, String username, String password, Integer age, String address) {
   
        this.id = id;
        this.username = username;
        this.password = password;
        this.age = age;
        this.address = address;
    }

    public int getId() {
   
        return id;
    }

    public void setId(int id) {
   
       
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值