1.3 在IDEA中使用Maven编写一个Hibernate程序(IDEA+Maven+Hibernate)

1.3 在IDEA中使用Maven编写一个Hibernate程序(IDEA+Maven+Hibernate)


1.3.1 创建项目

1. 先创建一个Maven项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
.
2. 完善项目

创建成功的项目目录结构所有缺失,我们需要手动创建完成。
   在main目录下分别创建java和resources文件夹。
   同样在main下新建test测试文件夹,再在此文件夹下新建Java测试源码文件夹和resource测试资源文件夹。(这里的图用的是我上一篇Maven的截图,有部分不一样,但是操作都是一样的,不要介意)
在这里插入图片描述
 建里好缺失的文件夹以后,我们还需要更改新建的文件夹的 作用:
在这里插入图片描述
  更改完成以后的样式:
在这里插入图片描述
.
3. 配置相关的依赖包

这里我们需要导入到 mysql 和 hibernate 依赖的jar包

在这里插入图片描述

<!--引入hibernate包-->
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-core</artifactId>
      <version>5.0.7.Final</version>
    </dependency>

<!--引入mysql包-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.39</version>
    </dependency>

.
.
.

1.3.2 对Hibernate和MySQL进行相关调配

1. 添加hibernate的配置文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
好了,hibernate 的配置文件我们就添加成功了
.
.
2. 对刚添加的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>

    <!--  mysql账户名  -->
    <property name="hibernate.connection.username">root</property>
    <!--  mysql密码  -->
    <property name="hibernate.connection.password">123456</property>
    <!--  mysql驱动  -->
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <!--  mysql连接URL  -->
    <property name="hibernate.connection.url">jdbc:mysql:///hibernatedemo?useUnicode=true&amp;characterEncoding=UTF-8</property>

    <!--  数据库方言  -->
    <!--<property name="dialect">org.hibernate.dialect.MySQLDialect</property>-->
    <!--// 5.0之后使用的数据库方言-->
    <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>

    <!--  显示sql语句  -->
    <property name="show_sql">true</property>
    <!--  格式化sql语句  -->
    <property name="format_sql">true</property>
    <!--  根据需要创建数据库  (这里的操作是,如果数据库中已经有这个表,就将这个表删除掉,重新创建表格)-->
    <!--<property name="hbm2ddl.auto">create</property>-->

    <!--添加刚刚生成的映射类-->
    <!--<mapping class="cn.corey.UserEntity"></mapping>-->
  </session-factory>
</hibernate-configuration>

.
.

3. 连接数据库

在连接数据库之前呢,我在这里插一步,这是创建我们MySQL的表格的代码:

CREATE DATABASE hibernatedemo;
USE hibernatedemo;
CREATE TABLE `user` (
  `user_id` bigint(32) NOT NULL AUTO_INCREMENT COMMENT '编号(主键)',
  `user_name` varchar(32) NOT NULL COMMENT '姓名',
  `user_password` varchar(32) DEFAULT NULL COMMENT '密码',
  `user_phone` varchar(64) DEFAULT NULL COMMENT '电话',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

通过idea的database数据库进行连接数据库
.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这几步设置完成,直接点击 OK就好了。
点击OK以后,它会显示这样的一个界面,我们可以在这个界面运行我们的sql语句在这里插入图片描述
.
.
4. 表与类的数据映射的关系
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
导入数据库模式OR映射即将生成。你想继续吗? 点击YES
在这里插入图片描述
自动生成映射类:
在这里插入图片描述
到这里,我们还需要回到 hibernate.cfg.xml配置文件配置一下添加刚刚生成的映射类

<!--添加刚刚生成的映射类-->
    <mapping class="cn.corey.UserEntity"></mapping>

完整的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>

    <!--  mysql账户名  -->
    <property name="hibernate.connection.username">root</property>
    <!--  mysql密码  -->
    <property name="hibernate.connection.password">123456</property>
    <!--  mysql驱动  -->
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <!--  mysql连接URL  -->
    <property name="hibernate.connection.url">jdbc:mysql:///hibernatedemo?useUnicode=true&amp;characterEncoding=UTF-8</property>

    <!--  数据库方言  -->
    <!--<property name="dialect">org.hibernate.dialect.MySQLDialect</property>-->
    <!--// 5.0之后使用的数据库方言-->
    <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>

    <!--  显示sql语句  -->
    <property name="show_sql">true</property>
    <!--  格式化sql语句  -->
    <property name="format_sql">true</property>
    <!--  根据需要创建数据库  (这里的操作是,如果数据库中已经有这个表,就将这个表删除掉,重新创建表格)-->
    <!--<property name="hbm2ddl.auto">create</property>-->

    <!--添加刚刚生成的映射类-->
    <mapping class="cn.corey.UserEntity"></mapping>
  </session-factory>
</hibernate-configuration>

.
.
.
.

1.3.3 编写测试类,进行测试

还是,先顺一下Hibernate持久化的七个步骤:


 		// 1. Configuration 加载配置,进行初始化
 	
        // 2. SessionFactory 是Session的“工厂”

        // 3. Session 创建实例

        // 4. Transaction 开启事务

        // 5. 编写程序,实现操作

        // 6. commit 提交,结束事务

        // 7. close 关闭Session,释放资源
        

1. 创建并编写测试类
在这里插入图片描述

需要注意的一点是导包一定不要导错了
在这里插入图片描述

测试类完成代码:

package cn.corey;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

/**
 * Hibernate测试类
 */
public class HibernateTest1 {

    public static void main(String[] args) {

        // 1. Configuration 加载配置,进行初始化
        Configuration configuration=new Configuration().configure();
        // 2. SessionFactory 是Session的“工厂”
        SessionFactory sessionFactory=configuration.buildSessionFactory();
        // 3. Session 创建实例
        Session session=sessionFactory.openSession();
        // 4. Transaction 开启事务
        Transaction transaction=session.beginTransaction();

        // 5. 编写程序,实现操作
        UserEntity userEntity=new UserEntity();
        userEntity.setUserName("Corey");
        userEntity.setUserPassword("1433223");
        session.save(userEntity);

        // 6. commit 提交,结束事务
        transaction.commit();
        // 7. close 关闭Session,释放资源
        session.close();
    }
}

.
2. 进行测试
因为我们在Hibernate的配置中添加了SQL语句的打印:

	<!--  显示sql语句  -->
    <property name="show_sql">true</property>

所以,当我们测试类运行成功的时候,控制台会打印我们所运行的SQL语句
在这里插入图片描述

程序运行成功,我们进到MySQL里看下我们添加的数据有没有添加进来

在这里插入图片描述
查询数据库表,我们要添加的数据已经成功添加到表中了,程序功能实现成功
.

到这里,我们在IDEA中使用Maven创建Hibernate的项目也算是成功了

发布了5 篇原创文章 · 获赞 7 · 访问量 248

猜你喜欢

转载自blog.csdn.net/Corey__Zhang/article/details/104732489
1.3