需要用的包

Hibernate的日志记录:

* Hibernate日志记录使用了一个slf4j:

* SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。

引入log4j.properties.

创建一个数据表

create database hibernate_day01;

use hibernate_day01;

create table customer(

id int primary key auto_increment,

name varchar(20),

age int

);

创建实体类和映射

public class Customer {

private int id;

private String name;

private int age;

...

}

创建映射:

* 在实体类所在的包下创建一个与类同名.hbm.xml(但是映射文件只要是XML格式文件即可)

* 引入映射文件的约束:

* hibernate3.jar/org/hibernate/hibernate-mapping-3.0.dtd

<!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:类的全路径.

table:表的名称

-->

<class name="cn.itcast.hibernate.demo1.Customer" table="customer">

<!--

使用id标签完成类中属性与表中的主键对应

* name :类中属性名

* column :表中的字段名

-->

<id name="id" column="id">

<!-- 主键生成策略 -->

<generator class="native"/>

</id>

<!--

使用property标签完成类中普通属性与表中的字段映射

* name :类中属性名

* column :表中的字段名

-->

<property name="name" column="name"/>

<property name="age" column="age"/>

</class>

</hibernate-mapping>

创建hibernate的核心xml配置文件

在src下新建一个hibernate.cfg.xml

* 引入约束:* hibernate3.jar/org/hibernate/hibernate-configuration-3.0.dtd

<!DOCTYPE hibernate-configuration PUBLIC

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

核心配置:

<hibernate-configuration>

<session-factory>

<!-- 配置连接数据库的基本参数 -->

<property name="hibernate.connection.driver_class">

com.mysql.jdbc.Driver

</property>

<property name="hibernate.connection.url">

jdbc:mysql:///hibernate_day01

</property>

<property name="hibernate.connection.username">root</property>

<property name="hibernate.connection.password">123</property>

<!-- Hibernate的方言: -->

<property name="hibernate.dialect">

org.hibernate.dialect.MySQLDialect

</property>

<!-- 配置Hibernate可选的属性 -->

<!-- 显示SQL -->

<property name="hibernate.show_sql">true</property>

<!-- 格式化SQL -->

<property name="hibernate.format_sql">true</property>

<!-- hbm2ddl -->

<property name="hibernate.hbm2ddl.auto">update</property>

<!-- 引入映射文件: -->

<mapping resource="cn/itcast/hibernate/demo1/Customer.hbm.xml" />

</session-factory>

</hibernate-configuration>

编写一个测试类

@Test

/**

* 向数据库中插入一条记录.

*/

public void demo1(){

// 1.加载核心配置文件:加载src下的hibernate.cfg.xml

Configuration configuration = new Configuration().configure();

// 2.创建一个SessionFactory对象.

SessionFactory sessionFactory = configuration.buildSessionFactory();

// 3.通过SessionFactory生成一个Session(Connection)对象.

Session session = sessionFactory.openSession();

// 4.开启事务.

Transaction tx = session.beginTransaction();

// 5.执行操作.

// 插入记录.

Customer customer = new Customer();

customer.setName("任童");

customer.setAge(38);

session.save(customer);

// 6.提交事务.

tx.commit();

// 7.释放资源

session.close();

sessionFactory.close();

}

查看结果

hibernate 搭建框架的更多相关文章

  1. Hibernate搭建框架(一)

    什么是hibernate? hibernate是一个orm框架,实现了对JDBC的封装.通过xml文件来实现类和表之间的映射,这样就可以使用操作对象的方式来操作数据库. 官网:http://hiber ...

  2. Eclipse搭建SSH(Struts2+Spring+Hibernate)框架教程

    | 版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 确实,刚创博客,对于这个陌生的东西还是有些许淡然.这是我的第一篇博文,希望能给你们有帮助,这就是我最大的乐趣! 好了下面进入正题: SS ...

  3. Struts2+Spring+Hibernate 三大框架的合并集成

    这次来看看Struts2+Spring+Hibernate三大框架的整合应用,主要是Spring和Hibernate框架的整合,因为前边已经将Strtus2+Spring整合过了基本一样.  首先看一 ...

  4. 初学springMVC搭建框架过程及碰到的问题

    刚刚开始学spring框架,因为接了一个网站的项目,想用spring+springMVC+hibernate整合来实现它,现在写下搭建框架的过程及碰到的问题.希望给自己看到也能让大家看到不要踏坑. 一 ...

  5. Springmvc+Spring+Hibernate搭建方法

    Springmvc+Spring+Hibernate搭建方法及example 前面两篇文章,分别介绍了Springmvc和Spring的搭建方法,本文再搭建hibernate,并建立SSH最基本的代码 ...

  6. Struts,spring,hibernate三大框架的面试

    Struts,spring,hibernate三大框架的面试 1.Hibernate工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3 ...

  7. Springmvc+Spring+Hibernate搭建方法及实例

    Springmvc+Spring+Hibernate搭建方法及实例  

  8. 从零开始搭建框架SSM+Redis+Mysql(二)之MAVEN项目搭建

    从零开始搭建框架SSM+Redis+Mysql(二)之MAVEN项目搭建 废话不说,直接撸步骤!!! 1.创建主项目:ncc-parent 选择maven创建项目,注意在创建项目中,packing选择 ...

  9. 从零开始搭建框架SSM+Redis+Mysql(一)之摘要

    从零开始搭建框架SSM+Redis+Mysql(一)之摘要 本文章为本人实际的操作后的回忆笔记,如果有步骤错漏,希望来信307793969@qq.com或者评论指出. 本文章只体现过程,仅体现操作流程 ...

随机推荐

  1. 高可用的K8S集群部署方案

    涉及到的内容 LVS HAProxy Harbor etcd Kubernetes (Master Worker) 整体拓补图 以上是最小生产可用的整体拓补图(相关节点根据需要进行增加,但不能减少) ...

  2. python自学Day01(自学书籍python编程从入门到实践)

    第二章 变量和简单的数据类型 2.1 运行.py文件 解释器会读取整个程序,确定其中的每个单词含义并且通过解释器传输给电脑. 编辑.py文件,读取文件中的程序,确定文件中单词(代码)的含义,解释后执行 ...

  3. Vulkan(1)用apispec生成Vulkan库

    Vulkan(1)用apispec生成Vulkan库 我的Vulkan.net库已在(https://github.com/bitzhuwei/Vulkan.net)开源,欢迎交流. apispec. ...

  4. sql 行列互转

    1.行转列 现有数据: 期望数据: 1.1建表建数据 IF OBJECT_ID('temp_20170701','u') IS NOT NULL DROP TABLE temp_20170701 CR ...

  5. MyBatis基础之几道常见面试题详解

    (原文链接:http://www.studyshare.cn/blog/details/1178/1 一.开发中到底应该使用resultType还是resultMap? 强制使用resultMap,不 ...

  6. 警告:stream not available

    1.修改mybatis.org//DTD Config 3.0//EN更改为mybatis.org//DTD//EN 2.将url换成http://mybatis.org/dtd/mybatis-3- ...

  7. 转换地图 (康托展开+预处理+BFS)

    Problem Description 在小白成功的通过了第一轮面试后,他来到了第二轮面试.面试的题目有点难度了,为了考核你的思维能量,面试官给你一副(2x4)的初态地图,然后在给你一副(2x4)的终 ...

  8. ES6新增常见特性

    一:声明属性let const var let const 区别 1.var声明变量会发生变量提升,let.const不会发生变量提升 2.var允许重复声明变量,let不可以 3.const声明变量 ...

  9. 亮剑.NET学习札记

    学习前提要: 因为书的版本过老,有些章节不学了,要学的包括以下章节 暂定:1,2,4,5,6,7,9,10,11,12,13,14,15,16,17,18,附录A 第一章:主要是介绍.NET,包括面向 ...

  10. 使用 Envoy 和 AdGuard Home 阻挡烦人的广告

    原文链接:使用 Envoy 和 AdGuard Home 阻挡烦人的广告 通常我们使用网络时,宽带运营商会为我们分配一个 DNS 服务器.这个 DNS 通常是最快的,距离最近的服务器,但会有很多问题, ...