首先官网下载一个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. requestS模块发送请求的时候怎么传递参数

    首先要确定接口的传递参数是什么类型的,如果接口是查询,使用get请求方法,传递参数的时候使用params, 如果接口需要的json型参数的话,使用json,如果是上传文件的话,通过files参数在传递 ...

  2. 盘点.NET JIT在Release下由循环体优化所产生的不确定性Bug

    盘点在Release下由循环体优化所产生的不确定性Bug 在这篇文章中,我将介绍一些在测试环境(DEBUG)下正常,但在生产环境(Release)下却会出现的一些让人难以捉摸的Bug. 如果你对开源技 ...

  3. python爬虫使用scrapy框架

    scrapy框架提升篇 关注公众号"轻松学编程"了解更多 1.创建启动爬虫脚本 在项目目录下创建start.py文件: 添加代码: #以后只要运行start.py就可以启动爬虫 i ...

  4. 微信小程序简单封装图片上传组件

    微信小程序简单封装图片上传组件 希望自己 "day day up" -----小陶 我从哪里来 在写小程序的时候需要上传图片,个人觉得官方提供的 Uploader 组件不是太好用, ...

  5. c++ templates 第二版(英文)

    关注公众号:红宸笑. 回复:电子书 即可

  6. Scrapy分布式爬虫,分布式队列和布隆过滤器,一分钟搞定?

    使用Scrapy开发一个分布式爬虫?你知道最快的方法是什么吗?一分钟真的能 开发好或者修改出 一个分布式爬虫吗? 话不多说,先让我们看看怎么实践,再详细聊聊细节~ 快速上手 Step 0: 首先安装 ...

  7. 内网渗透 day14-empire基础命令的使用

    empire的基础操作 目录 1. 建立监听器 2. 设置stagers 3. 用户交互 4. 提权 1. 建立监听器 help    查看帮助命令 listeners     查看监听器 useli ...

  8. 02模板渲染和参数(补充:URL传参到视图)

    先抛出代码: @app.route('/') def index(): return render_template('index.html',username ="郑勇") 问题 ...

  9. Docker - 解决容器内获取的时间和主机的时间不一样的问题

    问题背景 分别在容器和主机下执行 date 命令 可以看到,时间是完全不一样的 解决方案 在运行容器时,挂载 /etc/localtime  目录 docker run -d -v /etc/loca ...

  10. java服务器部署开源项目(若依)

    1准备工作 (1)阿里云 centos_8_0_x64_20G_alibase_20200218.vhd [root@iZ2zeeqw5fxmm9zagf439aZ ~]# cat /etc/redh ...