• 创建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
  • 相关阅读:
    Docker:Elasticsearch安装配置IK分词器
    Java算法(五):手写数组逆置API方法,实现数组逆置。 while实现 && for循环实现
    python解析xml遇到的问题分享(命名空间有关)
    前端教程-rollup
    JAVA:实现PrimeFactorization质因数分解算法(附完整源码)
    19. 删除链表的倒数第 N 个结点
    LINQ to SQL语句(24)之视图
    Windows 95 的辉煌诞生历史
    python爬虫大作业爬取豆豆影评
    单链表的相关操作(初阶)
  • 原文地址:https://blog.csdn.net/ccb1372098/article/details/128158287