有勇气的牛排博客

idea 创建 Maven+Hibernate项目

有勇气的牛排 529 Java 2023-05-17 23:52:55

1. 新建项目

哈喽,大家好,我是[有勇气的牛排](全网同名)🐮🐮🐮

有问题的小伙伴欢迎在文末[评论,点赞、收藏]是对我最大的支持!!!。

image.png

2. 创建空项目

方便以后再项目里面添加很多模块

image.png

填写项目名

image.png

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

image.png

3.新建模块

鼠标右键–>New–>Module

image.png

选择maven

image.png

完成后 配置自己的Maven仓库

image.png

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

image.png

4. 添加hibernate依赖

Maven仓库地址
搜索 hibernate

image.png

image.png

image.png

将依赖添加到 pom.xml

<!-- hibernate 核心依赖 --> <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.4.22.Final</version> </dependency>

5. 添加 Mysql 依赖

image.png

6. 添加 Mysql 依赖

image.png

image.png

<!-- 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

image.png

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://127.0.0.1:3306/myweb</property> <!-- 使用MYSQL的 innodb引擎 --> <property name="hibernate.dialect.storage_engine">innodb</property> </session-factory> </hibernate-configuration>

9. 创建实体类(持久化层)

要求如下:

  1. 实体类必须有无参构造方法
  2. 实体类遵守面向对象规则(属性私有化、提供get、set方法)
package com.bdqn.entity; /** * 部门类 * */ public class Department { // int默认为0 Integer默认为空 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. 创建映射文件

  1. 映射文件一般命名:实体类名称.hbm.xml
  2. 映射文件一般放在 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"/>

留言

专栏
文章
加入群聊