Hibernate入门和基础配置

本文通过一个demo运行最简单的Hibernate示例。

新建Maven项目,添加Hibernate依赖和mysql连接驱动。
pom.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<dependencies>
    <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.4.2.Final</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.15</version>
    </dependency>
</dependencies>

编写实体类User包含三个字段,uid,userName,password,在User类同文件夹下,创建映射文件,定义实体对象和数据表的对应关系(名称没有要求):
User.hbm.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Configuration DTD//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="entity.User" table="t_user">
        <id name="uid" column="uid">
            <generator class="native"></generator>
        </id>
        <property name="password" column="password"></property>
        <property name="userName" column="userName"></property>
    </class>
</hibernate-mapping>

src文件夹下,新建hibernate.cfg.xml,这个是hibernate的核心配置文件,必须在src文件夹下。
核心配置文件包含三部分:

  • 数据源配置
  • 选项配置(是否打印SQL、是否自动创建表、是否格式化SQL等等)
  • 映射文件引入(实体对象关系)

hibernate.cfg.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?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.url">jdbc:mysql://[数据库ip]:3306/hibernate</property>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.username">root</property>
        <property name="connection.password">123456</property>

        <property name="show_sql">true</property>
        <property name="format_sql">true</property>
        <property name="hibernate.hbm2ddl.auto">update</property>
        <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>

        <mapping resource="entity/User.hbm.xml"/>
        <!-- DB schema will be updated if needed -->
        <!-- <property name="hibernate.hbm2ddl.auto">update</property> -->
    </session-factory>
</hibernate-configuration>

编写main方法,首先,实例化hibernate的Configuration对象,使得核心配置文件被加载(但是还未执行程序)。
然后创建SessionFactory对象,如下????

1
2
3
Configuration configuration = new Configuration();
configuration.configure();
SessionFactory factory = configuration.buildSessionFactory();

这时,发现数据库中新建了表,所以创建数据表操作在创建SessionFactory的时候进行。

使用factory的openSession方法可以获得一个数据库连接session,通过session可以执行CRUD,一个DEMO????

1
2
3
4
5
Session session = factory.openSession();
User user = new User();
user.setUserName("小明");
user.setPassword("21346565");
session.save(user);

至此,即是一个最简单的hibernate示例,主要步骤:

  1. 添加依赖
  2. 创建实体类
  3. 创建编写映射文件
  4. 创建核心配置文件
  5. 编写main方法,实例化Configuration类,加载配置文件。
  6. 创建SessionFactory对象
  7. 获取Session连接,执行CRUD
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值