1. 新建项目
哈喽,大家好,我是[有勇气的牛排](全网同名)🐮🐮🐮
有问题的小伙伴欢迎在文末[评论,点赞、收藏]是对我最大的支持!!!。

2. 创建空项目
方便以后再项目里面添加很多模块

填写项目名

完成后没有发现
解决:File—>CLose Project


3.新建模块
鼠标右键–>New–>Module

选择maven

完成后 配置自己的Maven仓库

点击 Enable Auto-Import(自动导包)

4. 添加hibernate依赖
Maven仓库地址
搜索 hibernate



将依赖添加到 pom.xml
<!-- hibernate 核心依赖 -->
<!-- https:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.22.Final</version>
</dependency>
5. 添加 Mysql 依赖

6. 添加 Mysql 依赖


<!-- mysql依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.14</version>
</dependency>
7. 在 resources 文件里面,新建文件 hibernate.cfg.xml
在 resources 文件里面,新建文件 hibernate.cfg.xml

8. 配置文件
poem.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com</groupId>
<artifactId>hibernate1</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!-- hibernate 核心依赖 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.22.Final</version>
</dependency>
<!-- mysql依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.14</version>
</dependency>
</dependencies>
</project>
hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Hibernate 连接数据库的基本信息 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.username">root</property>
<property name="connection.password">123456</property>
<property name="connection.url">jdbc:mysql:
<!-- 使用MYSQL的 innodb引擎 -->
<property name="hibernate.dialect.storage_engine">innodb</property>
</session-factory>
</hibernate-configuration>
9. 创建实体类(持久化层)
要求如下:
- 实体类必须有无参构造方法
- 实体类遵守面向对象规则(属性私有化、提供get、set方法)
package com.bdqn.entity;
public class Department {
private Integer deptNo;
private String deptName;
private String location;
public Integer getDeptNo() {
return deptNo;
}
public String getDeptName() {
return deptName;
}
public String getLocation() {
return location;
}
public void setDeptNo(Integer deptNo) {
this.deptNo = deptNo;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}
public void setLocation(String location) {
this.location = location;
}
}
10. 创建映射文件
- 映射文件一般命名:实体类名称.hbm.xml
- 映射文件一般放在 resources/mapper 目录下
Department.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>
<!--
class标签:配置该实体类的数据库表
name属性:该实体类的路径(全局路径、全限定名)
table属性:该实体类关联的数据库表的名称
-->
<class name="com.bdqn.entity.Department" table="department">
<!--
id标签:配置主键属性
name属性:实体类的属性名(严格区分大小写)
type属性:该属性的数据类型
column属性:对应数据表中的列名,不区分大小写,当属性名与列名一致时,可省略不写
-->
<id name="deptNo" type="java.lang.Integer" column="deptNo">
<!-- 配置主键生成策略 -->
<!-- assigned:主键有程序提供,默认生成策略,一般不用 -->
<generator class="assigned"/>
</id>
<!--
property标签:配置普通属性(非主键)
name属性:实体类的属性名(严格区分大小写)
type属性:该属性的数据类型
column属性:对应数据库表中的列名,不区分大小写,当属性名与列名一致时,可省略不写
-->
<property name="deptName" type="string" column="deptName"/>
<property name="location" type="java.lang.String">
<column name="location"></column>
</property>
</class>
</hibernate-mapping>
11. 加载映射文件
在 hibernate.cfg.xml 配置文件中加载实体类的映射文件
通过<mapping> 标签加载映射文件,其中resource属性填写迎神文件的位置,该标签必须处于<property>标签之后
<!-- 加载映射文件 -->
<mapping resource="mapper/Department.hbm.xml"/>
<h3><a id="1__0"></a>1. 新建项目</h3>
<p><font face="楷体,华文行楷,隶书,黑体" color="red" size="4"><strong>哈喽,大家好,我是[有勇气的牛排](全网同名)🐮🐮🐮</strong></font></p>
<p><font face="楷体,华文行楷,隶书,黑体" color="blue" size="4"><strong>有问题的小伙伴欢迎在文末[评论,点赞、收藏]是对我最大的支持!!!。</strong></font></p>
<p><img src="https://static.couragesteak.com/article/d20e82c964554e37f0d28af47c598db0.png" alt="image.png" /></p>
<h3><a id="2__9"></a>2. 创建空项目</h3>
<p>方便以后再项目里面添加很多模块</p>
<p><img src="https://static.couragesteak.com/article/f9774dd1305bd495fb8d375f36830e5e.png" alt="image.png" /></p>
<p>填写项目名</p>
<p><img src="https://static.couragesteak.com/article/e1a0c790aad39fd8396f53a937fd812f.png" alt="image.png" /></p>
<p>完成后没有发现<br />
解决:File—>CLose Project<br />
<img src="https://static.couragesteak.com/article/f8849bce49938732ad10035251d1b39f.png" alt="image.png" /></p>
<p><img src="https://static.couragesteak.com/article/852ec8afdd8588bde85186d89a3b1fae.png" alt="image.png" /></p>
<h3><a id="3_24"></a>3.新建模块</h3>
<p>鼠标右键–>New–>Module</p>
<p><img src="https://static.couragesteak.com/article/5bfac3df158c1daaefc61b8e23a1bc8e.png" alt="image.png" /></p>
<p>选择maven</p>
<p><img src="https://static.couragesteak.com/article/29b04ef10912df8ef341acedc73e80c1.png" alt="image.png" /></p>
<p>完成后 配置自己的Maven仓库</p>
<p><img src="https://static.couragesteak.com/article/6091d4d27ea4139af098c6ea54305c92.png" alt="image.png" /></p>
<p>点击 Enable Auto-Import(自动导包)</p>
<p><img src="https://static.couragesteak.com/article/6b3f06c02cb85d1ebc3d59e615ddd05f.png" alt="image.png" /></p>
<h3><a id="4_hibernate_42"></a>4. 添加hibernate依赖</h3>
<p><a href="https://mvnrepository.com/" target="_blank">Maven仓库地址</a><br />
搜索 hibernate</p>
<p><img src="https://static.couragesteak.com/article/79fcb246d0f8f10db677ceff4a0b0d79.png" alt="image.png" /></p>
<p><img src="https://static.couragesteak.com/article/556b6956c78ce1f585ede61a0dcfd272.png" alt="image.png" /></p>
<p><img src="https://static.couragesteak.com/article/3ea9ee6cb0d022c9e1fce70f697f1da2.png" alt="image.png" /></p>
<p>将依赖添加到 pom.xml</p>
<pre><div class="hljs"><code class="lang-java"><!-- hibernate 核心依赖 -->
<!-- https:<span class="hljs-comment">//mvnrepository.com/artifact/org.hibernate/hibernate-core --></span>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version><span class="hljs-number">5.4</span><span class="hljs-number">.22</span>.Final</version>
</dependency>
</code></div></pre>
<h3><a id="5__Mysql__66"></a>5. 添加 Mysql 依赖</h3>
<p><img src="https://static.couragesteak.com/article/0613cf56c5f78ffa9d9e0159c9179ea0.png" alt="image.png" /></p>
<h3><a id="6__Mysql__70"></a>6. 添加 Mysql 依赖</h3>
<p><img src="https://static.couragesteak.com/article/7944219b4e2d1ed76ea49dc77cac5b69.png" alt="image.png" /></p>
<p><img src="https://static.couragesteak.com/article/50b98bb332e03c1af3e6f514db1778d5.png" alt="image.png" /></p>
<pre><div class="hljs"><code class="lang-java"><!-- mysql依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version><span class="hljs-number">8.0</span><span class="hljs-number">.14</span></version>
</dependency>
</code></div></pre>
<h2><a id="7__resources__hibernatecfgxml_86"></a>7. 在 resources 文件里面,新建文件 hibernate.cfg.xml</h2>
<p>在 resources 文件里面,新建文件 hibernate.cfg.xml</p>
<p><img src="https://static.couragesteak.com/article/4b13afc0e8dfa46b26f3a128d95eeeda.png" alt="image.png" /></p>
<h3><a id="8__94"></a>8. 配置文件</h3>
<p><strong>poem.xml</strong></p>
<pre><div class="hljs"><code class="lang-java"><?xml version=<span class="hljs-string">"1.0"</span> encoding=<span class="hljs-string">"UTF-8"</span>?>
<project xmlns=<span class="hljs-string">"http://maven.apache.org/POM/4.0.0"</span>
xmlns:xsi=<span class="hljs-string">"http://www.w3.org/2001/XMLSchema-instance"</span>
xsi:schemaLocation=<span class="hljs-string">"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"</span>>
<modelVersion><span class="hljs-number">4.0</span><span class="hljs-number">.0</span></modelVersion>
<groupId>com</groupId>
<artifactId>hibernate1</artifactId>
<version><span class="hljs-number">1.0</span>-SNAPSHOT</version>
<dependencies>
<!-- hibernate 核心依赖 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version><span class="hljs-number">5.4</span><span class="hljs-number">.22</span>.Final</version>
</dependency>
<!-- mysql依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version><span class="hljs-number">8.0</span><span class="hljs-number">.14</span></version>
</dependency>
</dependencies>
</project>
</code></div></pre>
<p><strong>hibernate.cfg.xml</strong></p>
<pre><div class="hljs"><code class="lang-java"><?xml version=<span class="hljs-string">"1.0"</span> encoding=<span class="hljs-string">"UTF-8"</span>?>
<!DOCTYPE hibernate-configuration PUBLIC
<span class="hljs-string">"-//Hibernate/Hibernate Configuration DTD 3.0//EN"</span>
<span class="hljs-string">"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"</span>>
<hibernate-configuration>
<session-factory>
<!-- Hibernate 连接数据库的基本信息 -->
<property name=<span class="hljs-string">"connection.driver_class"</span>>com.mysql.jdbc.Driver</property>
<property name=<span class="hljs-string">"connection.username"</span>>root</property>
<property name=<span class="hljs-string">"connection.password"</span>><span class="hljs-number">123456</span></property>
<property name=<span class="hljs-string">"connection.url"</span>>jdbc:mysql:<span class="hljs-comment">//127.0.0.1:3306/myweb</property></span>
<!-- 使用MYSQL的 innodb引擎 -->
<property name=<span class="hljs-string">"hibernate.dialect.storage_engine"</span>>innodb</property>
</session-factory>
</hibernate-configuration>
</code></div></pre>
<h3><a id="9__153"></a>9. 创建实体类(持久化层)</h3>
<p>要求如下:</p>
<ol>
<li>实体类必须有无参构造方法</li>
<li>实体类遵守面向对象规则(属性私有化、提供get、set方法)</li>
</ol>
<pre><div class="hljs"><code class="lang-java"><span class="hljs-keyword">package</span> com.bdqn.entity;
<span class="hljs-comment">/**
* 部门类
* */</span>
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title class_">Department</span> {
<span class="hljs-comment">// int默认为0 Integer默认为空</span>
<span class="hljs-keyword">private</span> Integer deptNo; <span class="hljs-comment">// 部门编号</span>
<span class="hljs-keyword">private</span> String deptName; <span class="hljs-comment">// 部门名称</span>
<span class="hljs-keyword">private</span> String location; <span class="hljs-comment">// 部门位置</span>
<span class="hljs-keyword">public</span> Integer <span class="hljs-title function_">getDeptNo</span><span class="hljs-params">()</span> {
<span class="hljs-keyword">return</span> deptNo;
}
<span class="hljs-keyword">public</span> String <span class="hljs-title function_">getDeptName</span><span class="hljs-params">()</span> {
<span class="hljs-keyword">return</span> deptName;
}
<span class="hljs-keyword">public</span> String <span class="hljs-title function_">getLocation</span><span class="hljs-params">()</span> {
<span class="hljs-keyword">return</span> location;
}
<span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title function_">setDeptNo</span><span class="hljs-params">(Integer deptNo)</span> {
<span class="hljs-built_in">this</span>.deptNo = deptNo;
}
<span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title function_">setDeptName</span><span class="hljs-params">(String deptName)</span> {
<span class="hljs-built_in">this</span>.deptName = deptName;
}
<span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title function_">setLocation</span><span class="hljs-params">(String location)</span> {
<span class="hljs-built_in">this</span>.location = location;
}
}
</code></div></pre>
<h3><a id="10__196"></a>10. 创建映射文件</h3>
<ol>
<li>映射文件一般命名:实体类名称.hbm.xml</li>
<li>映射文件一般放在 resources/mapper 目录下</li>
</ol>
<p>Department.hbm.xml</p>
<pre><div class="hljs"><code class="lang-java"><?xml version=<span class="hljs-string">"1.0"</span>?>
<!DOCTYPE hibernate-mapping PUBLIC
<span class="hljs-string">"-//Hibernate/Hibernate Mapping DTD 3.0//EN"</span>
<span class="hljs-string">"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"</span>>
<hibernate-mapping>
<!--
class标签:配置该实体类的数据库表
name属性:该实体类的路径(全局路径、全限定名)
table属性:该实体类关联的数据库表的名称
-->
<<span class="hljs-keyword">class</span> <span class="hljs-title class_">name</span>=<span class="hljs-string">"com.bdqn.entity.Department"</span> table=<span class="hljs-string">"department"</span>>
<!--
id标签:配置主键属性
name属性:实体类的属性名(严格区分大小写)
type属性:该属性的数据类型
column属性:对应数据表中的列名,不区分大小写,当属性名与列名一致时,可省略不写
-->
<id name=<span class="hljs-string">"deptNo"</span> type=<span class="hljs-string">"java.lang.Integer"</span> column=<span class="hljs-string">"deptNo"</span>>
<!-- 配置主键生成策略 -->
<!-- assigned:主键有程序提供,默认生成策略,一般不用 -->
<generator class=<span class="hljs-string">"assigned"</span>/>
</id>
<!--
property标签:配置普通属性(非主键)
name属性:实体类的属性名(严格区分大小写)
type属性:该属性的数据类型
column属性:对应数据库表中的列名,不区分大小写,当属性名与列名一致时,可省略不写
-->
<property name=<span class="hljs-string">"deptName"</span> type=<span class="hljs-string">"string"</span> column=<span class="hljs-string">"deptName"</span>/>
<property name=<span class="hljs-string">"location"</span> type=<span class="hljs-string">"java.lang.String"</span>>
<column name=<span class="hljs-string">"location"</span>></column>
</property>
</class>
</hibernate-mapping>
</code></div></pre>
<h3><a id="11__240"></a>11. 加载映射文件</h3>
<p>在 hibernate.cfg.xml 配置文件中加载实体类的映射文件<br />
通过<mapping> 标签加载映射文件,其中resource属性填写迎神文件的位置,该标签必须处于<property>标签之后</p>
<pre><div class="hljs"><code class="lang-java"><!-- 加载映射文件 -->
<mapping resource=<span class="hljs-string">"mapper/Department.hbm.xml"</span>/>
</code></div></pre>
留言