• 创建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;
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

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

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

    
    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="com.ccb.Person" table="PERSON" >
            
            <id name="id" type="java.lang.Integer">
                <column name="id">column>
                
                <generator class="native">generator>
            id>
            
            
            <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>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    4、在src下创建hibernate.cfg.xml(固定名字,不可更改)

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

    
    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:///javaeeproperty>
            <property name="hibernate.connection.username">rootproperty>
            <property name="hibernate.connection.password">123456property>
            <property name="connection.driver_class">com.mysql.jdbc.Driverproperty>
    
            
            <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialectproperty>
    
            
            <property name="hibernate.show_sql">trueproperty>
            
            <property name="hibernate.format_sql">trueproperty>
    
            
            <mapping resource="com/ccb/Person.hbm.xml"/>
        session-factory>
    hibernate-configuration>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    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();
    
        }
        }
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
  • 相关阅读:
    ThingsBoard源码解析-消息队列
    【毕业设计】大数据工作岗位数据分析与可视化 - python flask
    携职教育:对于想进入财务工作的人来说,第一个证考CPA还是CMA?
    Linux 内核参数:oom_kill_allocating_task
    (STM32H5系列)STM32H573RIT6、STM32H573RIV6、STM32H573ZIT6嵌入式微控制器基于Cortex®-M33内核
    flink原理源码分析(一) 集群与资源@k8s
    Android工具adb下载安装环境配置详细教程
    SpirngBoot设置自定义注解@NoToken去除部分接口的token验证
    【JUC】1.CompletableFuture异步编程
    螺旋矩阵_数组 | leecode刷题笔记
  • 原文地址:https://blog.csdn.net/ccb1372098/article/details/128158287