在lib文件夹里面导入Hibernate开发的架包和连接mysql,连接数据源c3p0的架包...

  在src目录下建立Hibernate Configuration  File(cfg.xml)的配置文件:hibernate.cfg.xml;

其中有配置连接数据库的架包,配置Hibernate的基本信息;最后,指定关系的 .hbm.xml文件 ,包名和在该包下的hbm.xml文件名,是一个目录结构

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory> <!-- 配置连接数据的基本信息 -->
<property name="connection.username">root</property>
<property name="connection.password">lxn123</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql:///hibernate</property> <!-- 配置hibernate的基本信息 --> <!-- hibernate使用的数据库方言 ,这个是mysql支持事物的方法,在包:
hibernate-release-4.2.4.Final\hibernate-release-4.2.4.Final\project\etc\hibernate.properties.template,文件中找-->
<property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> <!-- 执行操作是否在控制台打印,在eclipse中显示实现操作的sql语句 -->
<property name="show_sql">true</property> <!-- 是否对SQL格式化 ,显示一行还是多行,便于阅读-->
<property name="format_sql">true</property> <!-- 指定自动生成数据表的策略,一共可以去四个值 -->
<property name="hbm2ddl.auto">update</property> <!-- 指定关系的 .hbm.xml文件 ,包名和在该包下的hbm.xml文件名,是一个目录结构-->
<mapping resource="com/atguigu/hibernate/hello/News.hbm.xml"/> </session-factory>
</hibernate-configuration>

创建一个持久化类:将要建立的数据表中的属性封装在这个类中;

package com.atguigu.hibernate.hello;

import java.sql.Date;

public class News {
private Integer id;
private String title;
private String author;
private Date date;
public News(String title, String author, Date date) {
super();
this.title = title;
this.author = author;
this.date = date;
} public News() {
super();
// TODO Auto-generated constructor stub
} public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getTitle() {
return title;
} public void setTitle(String title) {
this.title = title;
} public String getAuthor() {
return author;
} public void setAuthor(String author) {
this.author = author;
} public Date getDate() {
return date;
} public void setDate(Date date) {
this.date = date;
} public String toString() {
return "News [id=" + id + ", title=" + title + ", author=" + author
+ ", date=" + date + "]";
} }

在持久化类的同一包下建立Hibernate XML Mapping file(hbm.xml)的 一个对象关系映射文件:News.hbm.xml,里面有持久化类的全类名,表名,表中的属性,类型,列名,。。。。

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2016-9-15 15:51:47 by Hibernate Tools 3.4.0.CR1 --> <!-- 对象关系映射文件 -->
<hibernate-mapping> <class name="com.atguigu.hibernate.hello.News" table="NEWS">
<!-- 属性名,类型 -->
<id name="id" type="java.lang.Integer"> <!-- 列名 -->
<column name="ID" /> <!-- 指定主键的生成方式, native: 使用数据库本地方式 -->
<generator class="native" />
</id> <property name="title" type="java.lang.String">
<column name="TITLE"></column>
</property> <property name="author" type="java.lang.String">
<column name="AUTHOR" />
</property> <property name="date" type="java.sql.Date">
<column name="DATE" />
</property> </class>
</hibernate-mapping>

最会,建立一个类,实现,实现表的建立;

package com.atguigu.hibernate.hello;

import java.sql.Date;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder; import junit.framework.TestCase; public class HeibernateTT extends TestCase { public static void main(String[] args) {
//1. 创建一个 SessionFactory 对象,一般在一个项目中建立以,比较消耗资源
SessionFactory sessionFactory=null; //1). 创建 Configuration 对象: 对应 hibernate 的基本配置信息和 对象关系映射信息
Configuration configuration=new Configuration().configure(); //2). 创建一个 ServiceRegistry 对象: hibernate 4.x 新添加的对象
//hibernate 的任何配置和服务都需要在该对象中注册后才能有效.
ServiceRegistry serviceRegistry=
new ServiceRegistryBuilder()
.applySettings(configuration
.getProperties()).buildServiceRegistry(); sessionFactory=configuration.buildSessionFactory(serviceRegistry); //2. 创建一个 Session 对象,是用户和数据库之间进行交互操作的单线程对象,
Session session=sessionFactory.openSession(); //3. 开启事务,Transaction事物
Transaction transaction=session.beginTransaction(); //4. 执行保存操作
News news=new News("java", "panpan", new Date(new java.util.Date().getTime()));
//插入数据
session.save(news); //5. 提交事务
transaction.commit(); //6. 关闭 Session
session.close(); //7. 关闭 SessionFactory 对象
sessionFactory.close(); }
}

Hibernate框架的使用。。。的更多相关文章

  1. Hibernate框架之Criteria查询 和注解(重点☆☆☆☆☆,难点☆☆☆)

    写好一篇博客,不是容易的事.原因是:你要给自己以后看的时候,还能看懂,最重要的是当别人看到你的博客文章的时候,也一样很清楚的明白你自己写的东西.其实这也是一种成就感!! 对于每一个知识点,要有必要的解 ...

  2. Hibernate 系列 01 - 框架技术 (介绍Hibernate框架的发展由来)

    引导目录: Hibernate 系列教程 目录 本篇导航: 为什么学习框架技术 框架的概念 主流框架的介绍 1.为什么学习框架技术 如何制作一份看上去具有专业水准的PPT文档呢?一个简单的方法就是使用 ...

  3. 2.0、Hibernate框架的简单搭建

    一.Hibernate:是一个开放源代码的对象关系映射框架,对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句 ...

  4. 【Hibernate框架】对象的三种持久化状态

    一.综述 hibernate中的对象有三种状态,分别是TransientObjects(瞬时对象).PersistentObjects(持久化对象)和DetachedObjects(托管对象也叫做离线 ...

  5. hibernate框架int和Integer类型区别

    hibernate 框架在定义实体时,int类型最好定义为Inttger类型,因为在注入时int是值类型不允许为空.

  6. SSH(Struts2+Spring+Hibernate)框架搭建流程<注解的方式创建Bean>

    此篇讲的是MyEclipse9工具提供的支持搭建自加包有代码也是相同:用户登录与注册的例子,表字段只有name,password. SSH,xml方式搭建文章链接地址:http://www.cnblo ...

  7. ECLIPSE/JAVAWEB (二)三大框架之Hibernate框架 持续更新中...

    (一)发展历史 在Struts框架中使用jdbc连接来读写数据库,我们最常见的就是打开数据库连接.使用复杂的sql语句进行读写.关闭连接,获得的数据又需要转换或封装后往外传,这是一个非常繁琐的过程. ...

  8. Hibernate框架简单应用

    Hibernate框架简单应用 Hibernate的核心组件在基于MVC设计模式的JAVA WEB应用中,Hibernate可以作为模型层/数据访问层.它通过配置文件(hibernate.proper ...

  9. Hibernate框架(未完待续······)

        作为SSH三大框架之一的Hibernate,是用来把程序的Dao层和数据库打交道用的,它封装了JDBC的步骤,是我们对数据库的操作更加简单,更加快捷.利用Hibernate框架我们就可以不再编 ...

  10. Hibernate框架之get和load方法的区别

    我们在学习Hibernate框架时,经常会进行修改,删除操作,对于这些操作,我们都应该先加载对象,然后在执行或删除的操作,那么这里Hibernate提供了两种方法按照主键加载对象,也就是我要说的get ...

随机推荐

  1. Windows内核 字符串基本操作

    驱动程序中字符串操作涉及到ASCII字符串.宽字符串,还有DDK定义的ANSI_STRING数据结构和UNICODE_STRING数据结构. 1)ASCII字符串和宽字符串 在应用程序中使用两种字符: ...

  2. Maven-008-Nexus 私服部署发布报错 Failed to deploy artifacts: Failed to transfer file: ... Return code is: 4XX, ReasonPhrase: ... 解决方案

    我在部署构件至 maven nexus 私服时,有时会出现 Failed to deploy artifacts: Failed to transfer file: ... Return code i ...

  3. [转]线性插值&双线性插值&三线性插值

    转自:http://www.cnblogs.com/yingying0907/archive/2012/11/21/2780092.html 內插是数学领域数值分析中的通过已知的离散数据求未知数据的过 ...

  4. python djang suit模板

    一.安装python3.django1.9 二.配置好项目环境,引入suit模板   python3 - m pip install django-suit==0.2.13 三.配置django后台s ...

  5. ELK笔记

    ELK笔记 ELKStack高级实战培训http://files.cnblogs.com/files/MYSQLZOUQI/ELKStack%E9%AB%98%E7%BA%A7%E5%AE%9E%E6 ...

  6. 用soapUI生成客户端代码

    一.用soapUI生成客户端代码 方法一: 1.第一步,打开soapUI,菜单栏里的tools,选择apache CXF,如图, 2.第二步,WSDL:写上你连接服务端的地址,OutputDirect ...

  7. CSS display 属性

    实例 使段落生出行内框: p.inline { display:inline; } 所有主流浏览器都支持 display 属性. 注释:如果规定了 !DOCTYPE,则 Internet Explor ...

  8. ubuntu编译运行xv6

    最近想找个简单的类Unix系统学习下, xv6不错的, 所有代码加起来不到一万行,首先把代码跑起来还是很重要的. # 下载xv6源码并编译 git clone git://pdos.csail.mit ...

  9. cocos2dx 3.x(场景(层)的生命周期)

    //进入当前层初第一步始化层调用 bool GameScence::init() { if( !void init() ) { returnfalse; } log("进入当前层初第一步始化 ...

  10. RDIFramework.NET ━ 9.14 数据库连接管理 ━ Web部分

    RDIFramework.NET ━ .NET快速信息化系统开发框架 9.14  数据库连接管理 -Web部分 我们经常可以看到很多软件直接把数据库连接字符串放在软件执行目录下的配置文件中,这种直接把 ...