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 ...
随机推荐
- cordovas禁止横屏
cordovas禁止横屏 官网 http://cordova.apache.org/docs/en/latest/config_ref/index.html#preference 配置config.x ...
- Mybatis中SqlMapper配置的扩展与应用(1)
奋斗了好几个晚上调试程序,写了好几篇博客,终于建立起了Mybatis配置的扩展机制.虽然扩展机制是重要的,然而如果没有真正实用的扩展功能,那也至少是不那么鼓舞人心的,这篇博客就来举几个扩展的例子. 这 ...
- 使用Connetion的属性RetainSameConnection
在SSIS的组件中,很多都会连接到数据库进行操作,Connection有一个属性RetainSameConnection,默认值是False,控制着连接的打开和关闭的时机. 1,如果Connectio ...
- ASP.NET MVC删除数据
Index.cshtml @model IEnumerable<MvcExample.Models.Category> <script type="text/javascr ...
- Kruskal算法(二)之 C++详解
本章是克鲁斯卡尔算法的C++实现. 目录 1. 最小生成树 2. 克鲁斯卡尔算法介绍 3. 克鲁斯卡尔算法图解 4. 克鲁斯卡尔算法分析 5. 克鲁斯卡尔算法的代码说明 6. 克鲁斯卡尔算法的源码 转 ...
- HTML5 Dashboard – 那些让你激动的 Web 技术
HTML5 Dashboard 是一个 Mozilla 推出的项目,里面展示了最前沿的 HTML5,CSS3,JavaScript 技术.每一项技术都有简洁,在线演示以及详细的文档链接.这些技术将成为 ...
- jQuery.queue源码分析
作者:禅楼望月(http://www.cnblogs.com/yaoyinglong ) 队列是一种特殊的线性表,它的特殊之处在于他只允许在头部进行删除,在尾部进行插入.常用来表示先进先出的操作(FI ...
- 【Android】Android Camera原始帧格式转换 —— 获取Camera图像(一)
概述: 做过Android Camera图像采集和处理的朋友们应该都知道,Android手机相机采集的原始帧(RawFrame)默认是横屏格式的,而官方API有没有提供一个设置Camera采集图像的 ...
- PetaPojo —— JAVA版的PetaPoco
背景 由于工作的一些原因,需要从C#转成JAVA.之前PetaPoco用得真是非常舒服,在学习JAVA的过程中熟悉了一下JAVA的数据组件: MyBatis 非常流行,代码生成也很成熟,性能也很好.但 ...
- 重读 code complete 说说代码质量
重读code complete 说说代码质量 2014年的第一篇文章本来计划写些过去一年的总结和新年展望,但是因为还有一些事情要过一阵才能完成,所以姑且不谈这个,说说最近重读code complete ...