首先官网下载一个hibernate的架包,由于时间关系,博主已经分享到了百度网盘:https://pan.baidu.com/s/1Mw0Og3EKnouf84Njz9UicQ,提取码lens

Hibernate的插件:https://pan.baidu.com/s/1YLBe4m9wlfu5dXzYcrpS1Q ,提取码:lens

  话不多说我们开始吧

    


刚开始可以创建一个普通的Java项目如上所是,导入架包,由于博主还不精通所以价包全部导入,架包的基本路径recv\hibernate-release-5.4.22.Final\hibernate-release-5.4.22.Final\lib\required。

接下来配置cfg文件,以.cfg.xml结尾。我们创建名为hibernate.cfg.xml

    <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <!-- 配置Hibernate的环境信息 -->
    <session-factory>
        <!--
            数据库连接基础信息
                hibernate.connection.
         -->
        <!-- 驱动类 -->
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <!-- 连接URL -->
        <property name="hibernate.connection.url">jdbc:mysql:///user_db?characterEncoding=UTF-8</property>
        <!-- 登录名 -->
        <property name="hibernate.connection.username">root</property>
        <!-- 登录密码 -->
        <property name="hibernate.connection.password">123456</property>
        
        <!--
            Hibernate配置
                hibernate-release-5.4.22.Final\hibernate-release-5.4.22.Final\project\etc\hibernate.properties
         -->
        <!-- 数据库方言 -->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
        <!-- 打印SQL -->
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.format_sql">true</property>
        <!--
            表生成策略
                none:不使用表生成策略
                create:每次执行之前都会先删除该表,创建一张新的表
                create-drop:创建表并删除表
                update:
                    当表不存在的时候,则Hibernate会自动创建表
                    当表存在时
                        表结构没有改变,则不会创建或者更新包
                        表结构发生改变,则会去更新表结构(如果是删除列,则不会执行)
                validate:验证表
         -->
        <property name="hibernate.hbm2ddl.auto">update</property>
        
        <!-- 引入映射文件 -->
        <mapping resource="user-mapper.hbm.xml"/>        
    </session-factory>
</hibernate-configuration>


  然后配置hbm文件,以hbm.xml结尾,我们创建名为:uesr-mapper.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>
    <!--
        类与表的映射关系
     -->
     <class name="com.zb.entity.UserInfo" table="user_info">
         <!-- 属性与字段的映射关系 -->
         <!-- 配置标识列 -->
         <id name="userId" column="user_id">
             <!--
                 指定自增长列的生成器
                     native:让Hibernte根据数据底层的厂商标识自动选择生成规则
              -->
             <generator class="native"></generator>
         </id>
         <!-- 其他普通属性 -->
         <property name="userName" column="user_name"/>
         <property name="userAge" column="user_age"/>
         <property name="userSex" column="user_sex"/>
         <property name="userAddress" column="user_address"/>
         <property name="phoneNumber" column="phone_number"/>
     </class>
</hibernate-mapping>

对了一定要创建一个实体类,hbm文件就是根据实体类创建的


接下来就是测试类了

package com.zb.test;

import java.util.Date;

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

import com.zb.entity.UserInfo;

public class TestMain {
    public static void main(String[] args) {
        //配置信息对象
        Configuration config = new Configuration();
        //加载全局配置文件
        config = config.configure("hibernate.cfg.xml");
        //创建Session工厂(Hibernate5以后)
        SessionFactory sessionFactory = config.buildSessionFactory();
        //创建数据库访问对象(建立与数据库的会话)
        Session session = sessionFactory.openSession();
        //获取事务对象(开启事务)
        Transaction t = session.beginTransaction();
        
        UserInfo ui = new UserInfo(null, "大公鸡", 69, "男", "高老庄", "6543211",new Date());
        session.save(ui);
        
        //UserInfo userInfo = session.get(UserInfo.class, 2);
        //System.out.println(userInfo);
        
        t.commit();
        session.close();
        sessionFactory.close();
    }
}

以上的内容是创建一个表并插入一条数据,博主也是第一次写博文,有不好的地方请大家见谅

Hibernate的配置跟简单创建一个表并插入一条数据的更多相关文章

  1. mysql同时向一个表中插入多条数据问题!!见详细

    INSERT INTO `表名` (`字段1`,`字段2`,`字段3`,`字段4`) values ('数组1数据1','数组1数据2','数组1数据3','数组1数据4'), ('数组2数据1',' ...

  2. 【Oracle/Java】给十六张表各插入十万条数据 单线程耗时半小时 多线程耗时一刻钟

    测试机Oracle版本: SQL> select * from v$version; BANNER ----------------------------------------------- ...

  3. mssql 一次向表中插入多条数据的方法分享 (转自:http://www.maomao365.com/?p=6058)

    转自:http://www.maomao365.com/?p=6058) <span style="font-size:16px;font-weight:bold;"> ...

  4. 简单创建一个SpringCloud2021.0.3项目(二)

    目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上一篇教程 3. 创建公共模块Common 4. 网关Gateway 1. 创建Security 2. Security登陆配置 3 ...

  5. 简单创建一个SpringCloud2021.0.3项目(一)

    目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 新建父模块和注册中心 1. 新建父模块 2. 新建注册中心Eureka 3. 新建配置中心Config 4. 新建两个业务服务 1. ...

  6. 简单创建一个SpringCloud2021.0.3项目(四)

    目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上三篇教程 3. 日志处理 1. 创建日志公共模块 2. Eureka引入日志模块 4. 到此的功能代码 5. 注册中心换成naco ...

  7. 简单创建一个SpringCloud2021.0.3项目(三)

    目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上俩篇教程 3. Gateway集成sentinel,网关层做熔断降级 1. 超时熔断降级 2. 异常熔断 3. 集成sentine ...

  8. Oracle 数据库基础学习 (二) 学习小例子:创建一个表,记录商品买卖的情况

      运行环境:Oracle database 11g + PL/SQL Developer ex: --创建一个表 create table plspl_test_product( --加入not n ...

  9. sqlite创建数据库并创建一个表

    <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=&q ...

随机推荐

  1. 云计算管理平台之OpenStack镜像服务glance

    一.glance简介 openstack中的glance服务是用来存储在openstack上启动虚拟机所需镜像:它主要用于发现.注册及检索虚拟机镜像:它通过提供RESTful风格的api对外提供服务: ...

  2. 监控制图OxyPlot组件的下载与安装

    1.在工具(T)-NuGet包管理器(N)-管理解决方案的NuGet程序包(N),打开组件管理界面 2.切换到浏览窗口,安装以下三个窗口组件即可 3.OxyPlot文档手册 https://oxypl ...

  3. 水题挑战1:NOIP 2013 选择客栈

    丽江河边有\(n\) 家很有特色的客栈,客栈按照其位置顺序从 \(1\) 到 \(n\) 编号.每家客栈都按照某一种色调进行装饰(总共 \(k\) 种,用整数 \(0 \sim k-1\) 表示),且 ...

  4. windows 查看内存

    MEMORYSTATUSEX statex; statex.dwLength = sizeof (statex); GlobalMemoryStatusEx (&statex); _tprin ...

  5. 2018-12-8 论文翻译+hdoj+git+python

    今天干的事不多,明天得把实验写了. 论文翻译了摘要.0.5h hdoj 五道水题.注意while(cin>>char&&char != '\n')没用.可用ch = cin ...

  6. Navicat无法直连MySQL怎么办?

    本文背景 Navicat是图形化操作MySQL的强大工具,但是当数据库的服务器没有开放3306端口给办公网络时,在办公网使用navicat连接数据库是连不上的.要操作数据库,只能先ssh登陆到数据库服 ...

  7. C++实现RTMP协议发送H.264编码及AAC编码的直播软件开发音视频

    RTMP(Real Time Messaging Protocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia 公司创建,后来归Adobe公司所有,是一种私有协议,主要用来联系F ...

  8. 【SpringBoot】15. Spring Boot核心注解

    Spring Boot核心注解 1 @SpringBootApplication 代表是Spring Boot启动的类 2 @SpringBootConfiguration 通过bean对象来获取配置 ...

  9. python爬虫05正则表达式

    字符 描述 \ 将下一个字符标记为一个特殊字符(File Format Escape,清单见本表).或一个原义字符(Identity Escape,有^$()*+?.[\{|共计12个).或一个向后引 ...

  10. SQL Plus的使用详解(登录和常用命令)

    1.SQL Plus简介 SQL Plus工具是随 Oracle数据库服务器或客户端的安装而自动进行安装的管理与开发工具, Oracle数据库中所有的管理操作都可以通过 SQLPlus工具完成. SQ ...