Hibernate入门案例配置以及增、删、改、查看
享受痛苦就是走向成功的第一步。
一、创建一个项目(lib里面是需要的夹包小奶瓶要导包)

二、书写大配置文件
大配置文件必须放置在项目根目录(专业classpath下):界定:就是src
1名称: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> <session-factory> <!-- Database connection settings 数据库连接设置-->
<!-- 驱动类 -->
<property name="connection.driver_class">oracle.jdbc.OracleDriver</property>
<property name="connection.url">jdbc:oracle:thin:@localhost::orcl</property>
<property name="connection.username">sa</property>
<property name="connection.password"></property> <!-- SQL dialect (sql的方言)-->
<property name="dialect">org.hibernate.dialect.Oracle10gDialect</property> <!-- Echo all executed SQL to stdout 在控制台打印后台的sql语句-->
<property name="show_sql">true</property>
<!-- 格式化显示sql -->
<property name="format_sql">true</property>
<!-- Drop and re-create the database schema on startup 序列化-->
<property name="hbm2ddl.auto">update</property> <mapping resource="hibernate.hbm.xml" /> </session-factory> </hibernate-configuration>
三、创建小配置
1、名称:hibernate.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="cn.happy.entity">
<class name="Student" table="STUDENT">
<id name="sid" column="SID">
<!-- 主键生成策略:native: native:如果后台是Oracle 后台是MySQL,自动应用自增 -->
<generator class="native" />
</id>
<property name="name" type="string" column="NAME" />
<property name="age" />
</class> </hibernate-mapping>
四、测试类
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration; import cn.happy.entity.Student; public class Test { /**
* @param args
*/
public static void main(String[] args) {
//addAll();//添加信息
//getAll();//查看信息
//deleteAll();//删除信息
UpdateAll();//修改信息
}
//添加信息
public static void addAll(){
Student stu = new Student();
//stu.setSid(2);
stu.setName("聆听");
stu.setAge();
// 1.1读取大配置文件,获取要连接的数据库信息
Configuration cfg = new Configuration().configure();
// 1.2创建SessionFactory
SessionFactory factory = cfg.buildSessionFactory(); // 1.3加工session
Session session = factory.openSession(); Transaction tx = session.beginTransaction(); // 02.Hibernate 帮我保存 session.save(stu); tx.commit();
System.out.println("save ok!"); }
//查看全部信息
public static void getAll(){
//读取配置文件
Configuration conf=new Configuration().configure();
//创建SessionFactory
SessionFactory sf=conf.buildSessionFactory();
//打开session
Session se=sf.openSession();
//加载数据
Student dept=(Student)se.get(Student.class, new Integer( ));
System.out.println(dept.getName());//输入数据
System.err.println(dept.getAge());
//关闭会话
if(se!=null){
se.close();
} }
//删除信息
public static void deleteAll(){
//读取数据文件
Configuration conf=new Configuration().configure();
//创建SessionFactory
SessionFactory se=conf.buildSessionFactory();
//打开session
Session session=se.openSession();
//开始一个事务
Transaction tx=session.beginTransaction();
//获取部门的对象
Student stu=(Student)session.get(Student.class, new Integer());
//删除对象(持久化操作)
session.delete(stu);
//提交事务
tx.commit();
System.out.println("删除成功");
//回滚事务
tx.rollback();
System.out.println("删除回滚");
//关闭session
if(session!=null){
session.close();
}
}
public static void UpdateAll(){
//读取数据文件
Configuration conf=new Configuration().configure();
//创建SessionFactory
SessionFactory se=conf.buildSessionFactory();
//打开session
Session session=se.openSession();
//开始一个事务
Transaction tx=session.beginTransaction();
//获取部门的对象
Student stu=(Student)session.get(Student.class, new Integer());
//修改信息
stu.setName("女王");
//提交事务
tx.commit();
/*http://blog.csdn.net/woxueliuyun/article/details/3930335*/
System.out.println("修改成功");
//回滚事务
tx.rollback();
System.out.println("修改回滚");
//关闭session
if(session!=null){
session.close();
}
}
}
Hibernate入门案例配置以及增、删、改、查看的更多相关文章
- Hibernate入门案例及增删改查
一.Hibernate入门案例剖析: ①创建实体类Student 并重写toString方法 public class Student { private Integer sid; private I ...
- Hibernate入门案例 增删改
一.Hibernate入门案例剖析: ①创建实体类Student 并重写toString方法 public class Student { private Integer sid; private I ...
- C# ADO.NET (sql语句连接方式)(增,删,改)
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- 好用的SQL TVP~~独家赠送[增-删-改-查]的例子
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...
- iOS FMDB的使用(增,删,改,查,sqlite存取图片)
iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...
- iOS sqlite3 的基本使用(增 删 改 查)
iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...
- Hibernate入门3.配置映射文件深入
Hibernate入门3.配置映射文件深入 2013.11.27 前言: 之前的两节是在Java项目中如何使用hibernate,并且通过一个简单地项目实践,期间有很多的错误,一般都是因为配置包的问题 ...
- ADO.NET 增 删 改 查
ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...
- MVC EF 增 删 改 查
using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...
随机推荐
- gulp/grunt和browserify/webpack的区别
Gulp应该和Grunt比较,他们的区别我就不说了,说说用处吧.Gulp / Grunt 是一种工具,能够优化前端工作流程.比如自动刷新页面.combo.压缩css.js.编译less等等.简单来说, ...
- Python数据类型之“文本序列(Text Sequence)”
Python中的文本序列类型 Python中的文本数据由str对象或字符串进行处理. 1.字符串 字符串是Unicode码值的不可变序列.字符串字面量有多种形式: 单引号:'允许嵌入"双&q ...
- hibernate(五) hibernate一对一关系映射详解
序言 之前讲解了一对多(单向.双向).多对多(双向),今天就讲解一下最后一个关系,一对一. 心情不错.状态也挺好的,赶紧写一篇博文造福一下大家把. --WH 一.一对一关系的概述 一对一关系看起来简单 ...
- Socket实现仿QQ聊天(可部署于广域网)附源码(2)-服务器搭建
1.前言 这是本系列的第二篇文章,第一篇文章得到了很多朋友们的支持,在这里表示非常的感谢.对于这一系列文章需要补充的是这只是一篇入门级别的Socket通信文章,对于专业人员来说完全可以跳过.本文只介绍 ...
- Android Handler的使用示例:结合源码理解Android Handler机制(一)
什么是Handler? Android 的官方解释: 文档分节1:A Handler allows you to send and process Message and Runnable objec ...
- Cocos2d-x 3.2 学习笔记(五)Sprite Node
游戏中最重要的元素Sprite精灵,关于精灵的创建,精灵的控制等等. 涉及到的类Class: AnimationFrame 动画帧. Animation 动画对象:一个用来在精灵对象上表现动画的动画对 ...
- Ext.Net全部Icon图标名称展示
- cglib源码分析--转
原文地址:http://www.iteye.com/topic/799827 背景 前段时间在工作中,包括一些代码阅读过程中,spring aop经常性的会看到cglib中的相关内容,包括BeanCo ...
- MAC Objective-C 开发经典书籍推荐
MAC Objective-C 开发经典书籍推荐 闻道有先后,术业有专攻,这句话放到计算机科学领域的理解可能每个人都会不同. 有些人选择一个操作系统,一个体系的编程语言,作一个领域的开发. 有些人选择 ...
- 参与github上开源项目的大致流程和注意事项
Foreword github是一个很火的代码托管服务网站,可能好多人都想参与一两个项目玩一玩学习一下,但由于是纯英文的网站,可能又会止步于想法上没有动手实践.接下来我就介绍一下参与github上开源 ...