Hibernate的配置跟简单创建一个表并插入一条数据
首先官网下载一个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的配置跟简单创建一个表并插入一条数据的更多相关文章
- mysql同时向一个表中插入多条数据问题!!见详细
INSERT INTO `表名` (`字段1`,`字段2`,`字段3`,`字段4`) values ('数组1数据1','数组1数据2','数组1数据3','数组1数据4'), ('数组2数据1',' ...
- 【Oracle/Java】给十六张表各插入十万条数据 单线程耗时半小时 多线程耗时一刻钟
测试机Oracle版本: SQL> select * from v$version; BANNER ----------------------------------------------- ...
- mssql 一次向表中插入多条数据的方法分享 (转自:http://www.maomao365.com/?p=6058)
转自:http://www.maomao365.com/?p=6058) <span style="font-size:16px;font-weight:bold;"> ...
- 简单创建一个SpringCloud2021.0.3项目(二)
目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上一篇教程 3. 创建公共模块Common 4. 网关Gateway 1. 创建Security 2. Security登陆配置 3 ...
- 简单创建一个SpringCloud2021.0.3项目(一)
目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 新建父模块和注册中心 1. 新建父模块 2. 新建注册中心Eureka 3. 新建配置中心Config 4. 新建两个业务服务 1. ...
- 简单创建一个SpringCloud2021.0.3项目(四)
目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上三篇教程 3. 日志处理 1. 创建日志公共模块 2. Eureka引入日志模块 4. 到此的功能代码 5. 注册中心换成naco ...
- 简单创建一个SpringCloud2021.0.3项目(三)
目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上俩篇教程 3. Gateway集成sentinel,网关层做熔断降级 1. 超时熔断降级 2. 异常熔断 3. 集成sentine ...
- Oracle 数据库基础学习 (二) 学习小例子:创建一个表,记录商品买卖的情况
运行环境:Oracle database 11g + PL/SQL Developer ex: --创建一个表 create table plspl_test_product( --加入not n ...
- sqlite创建数据库并创建一个表
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=&q ...
随机推荐
- 云计算管理平台之OpenStack镜像服务glance
一.glance简介 openstack中的glance服务是用来存储在openstack上启动虚拟机所需镜像:它主要用于发现.注册及检索虚拟机镜像:它通过提供RESTful风格的api对外提供服务: ...
- 监控制图OxyPlot组件的下载与安装
1.在工具(T)-NuGet包管理器(N)-管理解决方案的NuGet程序包(N),打开组件管理界面 2.切换到浏览窗口,安装以下三个窗口组件即可 3.OxyPlot文档手册 https://oxypl ...
- 水题挑战1:NOIP 2013 选择客栈
丽江河边有\(n\) 家很有特色的客栈,客栈按照其位置顺序从 \(1\) 到 \(n\) 编号.每家客栈都按照某一种色调进行装饰(总共 \(k\) 种,用整数 \(0 \sim k-1\) 表示),且 ...
- windows 查看内存
MEMORYSTATUSEX statex; statex.dwLength = sizeof (statex); GlobalMemoryStatusEx (&statex); _tprin ...
- 2018-12-8 论文翻译+hdoj+git+python
今天干的事不多,明天得把实验写了. 论文翻译了摘要.0.5h hdoj 五道水题.注意while(cin>>char&&char != '\n')没用.可用ch = cin ...
- Navicat无法直连MySQL怎么办?
本文背景 Navicat是图形化操作MySQL的强大工具,但是当数据库的服务器没有开放3306端口给办公网络时,在办公网使用navicat连接数据库是连不上的.要操作数据库,只能先ssh登陆到数据库服 ...
- C++实现RTMP协议发送H.264编码及AAC编码的直播软件开发音视频
RTMP(Real Time Messaging Protocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia 公司创建,后来归Adobe公司所有,是一种私有协议,主要用来联系F ...
- 【SpringBoot】15. Spring Boot核心注解
Spring Boot核心注解 1 @SpringBootApplication 代表是Spring Boot启动的类 2 @SpringBootConfiguration 通过bean对象来获取配置 ...
- python爬虫05正则表达式
字符 描述 \ 将下一个字符标记为一个特殊字符(File Format Escape,清单见本表).或一个原义字符(Identity Escape,有^$()*+?.[\{|共计12个).或一个向后引 ...
- SQL Plus的使用详解(登录和常用命令)
1.SQL Plus简介 SQL Plus工具是随 Oracle数据库服务器或客户端的安装而自动进行安装的管理与开发工具, Oracle数据库中所有的管理操作都可以通过 SQLPlus工具完成. SQ ...