创建Hibernate项目与实现一个例子(idea版)

创建Hibernate项目

一、前提准备

  1. 准备Hibernate开发必需的jar包。
  2. 准备数据库的驱动jar包。
  3. 准备junit.jar包。

这些包你可以去官网下载,也可以下载我已下载好的(本人目前使用的)。
https://pan.baidu.com/s/1DlnXJMLrBFf44dZ_kv8rXA?pwd=ccb1

二、创建项目

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

这里是创建项目路径和名称,可自己选择。

在这里插入图片描述

创建一个叫lib的文件夹,这里面存放需要导入的jar包

在这里插入图片描述

1. 导入Hibernate开发必需的jar包。
2. 导入数据库的驱动jar包。
3. 导入junit.jar包。

Hibernate的jar包在lib文件夹下的required文件夹里面,全部复制过来即可。
如何导入?
在需要导入文件夹里面找到jar包,复制这些jar包,然后点击paste即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击ok后,项目就创建完成了。

三、实现一个例子

以添加用户信息为例

1、先创建数据库(具体创建过程,不再展出)

我创建的数据库名为javaee,表名为person
在这里插入图片描述

2、先创建了一个包,然后再创建一个Person类
在这里插入图片描述
在这里插入图片描述

package com.ccb;

public class Person {
    private Integer id;
    private String name;
    private String sex;
    private int age;
    public  Person(){}
    public Person(String name,String sex,int age){
        this.age=age;
        this.name=name;
        this.sex=sex;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

3、在含有Person类的包下创建Person.hbm.xml(必须是同一个包下)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
把下面代码复制过去,

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <!-- name:类的全路径:-->
    <!-- table:表的名称:(可以省略的.使用类的名称作为表名.)-->
    <class name="com.ccb.Person" table="PERSON" >
        <!-- 主键-->
        <id name="id" type="java.lang.Integer">
            <column name="id"></column>
            <!--主键生成策略-->
            <generator class="native"></generator>
        </id>
        
        <!--表内表头名和属性
          property里面的name是Person类里面的属性名
          column里面的name是表头里面的表头名
          type是Person属性的类型
         -->
        <property name="name" type="java.lang.String">
            <column name="name"></column>
        </property>

        <property name="sex" type="java.lang.String">
            <column name="sex"></column>
        </property>
        <property name="age" type="int">
            <column name="age"></column>
        </property>
    </class>
</hibernate-mapping>

4、在src下创建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>
        <!--使用 Hibernate 自带的连接池配置
          
          这里的javaee是我的数据库名字,需要换成你的数据库名字
          数据库账号,密码,都需要换成你的
         -->
        <property name="connection.url">jdbc:mysql:///javaee</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">123456</property>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>

        <!--hibernate 方言-->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>

        <!--打印sql语句-->
        <property name="hibernate.show_sql">true</property>
        <!--格式化sql-->
        <property name="hibernate.format_sql">true</property>

        <!-- 加载映射文件
        就是刚刚创建的Person.hbm.xml,需要全路径
         -->
        <mapping resource="com/ccb/Person.hbm.xml"/>
    </session-factory>
</hibernate-configuration>

5、创建主类

package com.ccb;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;

import java.util.Scanner;

public class main1 {
    public static void main(String[] args) {
    
        Scanner cin=new Scanner(System.in);
        SessionFactory sessionFactory=null;
        Session session=null;
        Transaction transaction=null;
        
	//读取配置文件,并创建sessionFactory对象
        Configuration configuration=new Configuration().configure();
        ServiceRegistry serviceRegistry=new StandardServiceRegistryBuilder().
                applySettings(configuration.getProperties()).build();

        sessionFactory=configuration.buildSessionFactory(serviceRegistry);
        session=sessionFactory.openSession();
        
        System.out.println("请依次输入:姓名 性别 年龄");
        String name=cin.next();
        String sex=cin.next();
        int age=cin.nextInt();
        Person person=new Person(name,sex,age);

        transaction=session.beginTransaction();  //启动事务
        session.save(person);    //执行事务,保存对象
        transaction.commit();    //提交事务
        session.close();
        sessionFactory.close();
        cin.close();

    }
    }


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值