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 ...
随机推荐
- DOM_01之树及遍历
1.DOM:ECMAScript+DOM+BOM,Document Object Model,核心DOM+HTML DOM+XML DOM: 2.辨析:①HTML:专门编写网页内容的语言:②XHTML ...
- TSql HierarchyID 数据类型用法
HierarchyID 数据类型是一种长度可变的系统数据类型.可使用 HierarchyID 表示层次结构中的位置.类型为 HierarchyID 的列不会自动表示树,由应用程序来生成和分配 Hier ...
- Android控件之WebView
如何在Android应用中打开Web网站呢?谷歌为我们提供了解决方案,现在就让我们一起看一下WebView控件吧. 为了方便总结,就以实现下面这个效果为主线,进行总结: 首先我们先看一下它的布局文件吧 ...
- java中异常注意的细节1
/* public class Test{ public static void main(String[] args){ int i=0; try{ func();//区别就是该函数抛出的异常被封装 ...
- 算法与数据结构(2)--英雄会第三届在线编程大赛:几个bing
基础知识的回顾不再写到这里面了,会写一些算法算法的解答或者读一些相关书籍的笔记. 今天做了一道算法题,来自微软必应·英雄会第三届在线编程大赛:几个bing? 做出来了...但不知道为啥执行测试用例失败 ...
- How Do Annotations Work in Java?--转
原文地址:https://dzone.com/articles/how-annotations-work-java Annotations have been a very important par ...
- AngularJS in Action读书笔记5(实战篇)——在directive中引入D3饼状图显示
前言: "宁肯像种子一样等待 也不愿像疲惫的陀螺 旋转得那样勉强" 这是前几天在查资料无意间看到的一位园友的签名,看完后又读了两遍,觉得很有味道.后来一寻根究底才知这是出资大诗 ...
- HTML&CSS学习总结(一)
上周用了一周的时间,周一到周五平均每天2-3小时,周六.周日每天各8小时,看网易云课堂燕十八的HTML+div+CSS视频,感觉还不错,按照视频的讲课思路大概做个总结吧. 基本思路:从大的方面(整体结 ...
- 材价看板(2)- 运行两周的kanban,改进的起点
改进从何谈起?必须找到起点,那起点从哪来? 看板不需要像Scrum那样改变以往工作角色,简单通过任务上墙,配合敏捷的设计就能通过显示化日常工作来让问题自己蹦出来.在任何一个新采用看板的研发团队,执行一 ...
- Asp.net Core的代码移植技巧,半天将SqlSugarORM转成Core
.net core中有哪些被抛弃的类 1.DataTable DataRow SqlDataAdapter DataRow DataColumn DataColumn 虽然这些类不是我ORM核心功能 ...