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 ...
随机推荐
- python文件命名时的注意点
在python中读取Excal文件,需要引用xlrd模块,因此建的这个python文件名为xlrd.py 部分代码如下: import xlrd import os newpath = os.chdi ...
- 从eclipse迁移到ideal
个人用eclipse比较多,什么Luna,Neon,Mars.几乎每年都要研发出一个版本.目前所在的这家公司,维护的是一个10年的老项目,需求迭代频率比较高,业务代码臃肿而难理解,依赖关系不清晰,代码 ...
- Bootstrap Blazor 初体验
自微软去年发布blazor以来,我也一直关注着blazor的动态,从net core 3.1 到 net 5,从 server side 到 wasm client , 点点滴滴印证了 blazor ...
- 应用LORAWAN技术的好处是什么
LoRaWAN现在一种非常流行的LPWA通信标准,在ISM(工业.科学.医疗)频段使用未经许可的无线电频谱,频率约为900MHz到430MHz(世界各地的标准各不相同). 物联网连接环境除了智能家庭联 ...
- 20200725_java爬虫_项目创建及log4j配置
0. 摘要 0.1 添加log4j依赖 <dependency> <groupId>org.slf4j</groupId> <artifactId>sl ...
- 正式班D21
2020.11.03星期二 正式班D21 目录 11.5 源码包 11.5.1 预先安装编译安装依赖的库 11.5.2 官网下载源码包 11.5.3 解压.编译.编译安装 11.5 源码包 11.5. ...
- Flask常用扩展(Extentions)
Flask常用扩展(Extentions) 官网;http://flask.pocoo.org/extensions/ 1.Flask-Script 说明: 一个flask终端运行的解析器 安装: ...
- [CF160D]Edges in MST (最小生成树+LCA+差分)
待填坑 Code //CF160D Edges in MST //Apr,4th,2018 //树上差分+LCA+MST #include<cstdio> #include<iost ...
- Java -- "final" 的理解
Java具有继承和多态的特性,这也造就了Java语言的面向对象的灵活性.但是,过于灵活就意味的有失控的可能性. 于是,产生了final 的概念 -- 为了数据的绝对安全,无法被后期修改,英文称之为 m ...
- 释放至强平台 AI 加速潜能 汇医慧影打造全周期 AI 医学影像解决方案
基于英特尔架构实现软硬协同加速,显著提升新冠肺炎.乳腺癌等疾病的检测和筛查效率,并帮助医疗科研平台预防"维度灾难"问题 <PAGE 1 LEFT COLUMN: CUSTOM ...