package com.etc.test;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import com.etc.dao.HibernateSessionFactory;
import com.etc.entity.Book;
public class Test1
{
static void update()//修改
{
//从工具类获取1条记录
Session s = HibernateSessionFactory.getSession();
//开启事务
s.beginTransaction();
try
{
//执行修改
Book book=new Book("老黑传",100f,"老白",100f);
book.setBid(12);
s.update(book);//修改
}
catch (Exception e)
{
e.printStackTrace();
s.getTransaction().rollback();//回滚事务
}
//提交事务
s.getTransaction().commit();
System.out.println("修改成功!");
//关闭连接
HibernateSessionFactory.closeSession();
}
static void delete()//删除
{
//从工具类获取1条记录
Session s = HibernateSessionFactory.getSession();
//开启事务
s.beginTransaction();
try
{
//执行删除
//删除必须先精确查出来
Book book=(Book) s.get(Book.class, 11);
s.delete(book);//删除
}
catch (Exception e)
{
e.printStackTrace();
s.getTransaction().rollback();//回滚事务
}
//提交事务
s.getTransaction().commit();
System.out.println("删除成功!");
//关闭连接
HibernateSessionFactory.closeSession();
}
static void add()//添加
{
Book book = new Book("老黑传",100f,"老黑",100f);
//从工具类获取1条记录
Session s = HibernateSessionFactory.getSession();
//开启事务
s.beginTransaction();
try
{
//执行插入
s.save(book);
}
catch (Exception e)
{
e.printStackTrace();
s.getTransaction().rollback();//回滚事务
}
//提交事务
s.getTransaction().commit();
System.out.println("插入成功!");
//关闭连接
HibernateSessionFactory.closeSession();
}
static void tudo()//不使用工具类的查询
{
//加载配置文件
Configuration config=new Configuration().configure();
//获取Hibernate的连接工厂
SessionFactory fac=config.buildSessionFactory();
//从工厂获取1条连接
Session s=fac.openSession();
//执行查询
String hql="from Book";
List<Book> list=s.createQuery(hql).list();
//遍历结果
for(Book b:list)
{
System.out.println(b);
}
//关闭连接
s.close();
}
@SuppressWarnings("unchecked")
static void tudo2()//使用工具类的查询(推荐)
{
// 从工具类获取1条连接
Session s=HibernateSessionFactory.getSession();
//执行查询
String hql ="from Book.bname";
List<Book> list = s.createQuery(hql).list();
// 遍历结果
for(Book b:list)
{
System.out.println(b);
}
//关闭连接
HibernateSessionFactory.closeSession();
}
public static void main(String[] args)
{
//tudo();
tudo2();
//add();
//delete();
//update();
}

}

Hibernate_增删改的更多相关文章

  1. Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示

    Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...

  2. ASP.NET从零开始学习EF的增删改查

           ASP.NET从零开始学习EF的增删改查           最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...

  3. 无限分级和tree结构数据增删改【提供Demo下载】

    无限分级 很多时候我们不确定等级关系的层级,这个时候就需要用到无限分级了. 说到无限分级,又要扯到递归调用了.(据说频繁递归是很耗性能的),在此我们需要先设计好表机构,用来存储无限分级的数据.当然,以 ...

  4. MongoDB下载安装与简单增删改查

    Windows下MongoDB的安装和配置.启动和停止 下载地址:MongoDB的官方下载网址是:https://www.mongodb.org/downloads 安装步骤1. 点击下载的mongo ...

  5. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查

    系列目录 文章于2016-12-17日重写 在第八讲中,我们已经做到了怎么样分页.这一讲主要讲增删改查.第六讲的代码已经给出,里面包含了增删改,大家可以下载下来看下. 这讲主要是,制作漂亮的工具栏,虽 ...

  6. php数据库访问及增删改

    利用PHP访问由MySQL构建的数据库 连接到数据库 //1.造连接对象 $db = new MySQLi("localhost","root","1 ...

  7. 通过Java代码实现对数据库的数据进行操作:增删改查

    在写代码之前,依然是引用mysql数据库的jar包文件:右键项目-构建路径-设置构建路径-库-添加外部JAR 在数据库中我们已经建立好一个表xs :分别有xuehao  xingming    xue ...

  8. Hibernate全套增删改查+分页

    1.创建一个web工程 2.导入jar包 3.创建Student表 4.创建实体类 package com.entity; public class Student { private Integer ...

  9. 使用 Json.Net 对Json文本进行 增删改查

    JSON 已经成为当前主流交互格式, 如何在C#中使用 Json.Net 对Json文本进行 增删改查呢?见如下代码 #region Create (从零创建) public static strin ...

随机推荐

  1. Java Little Knowledge

    1.Constructor running order of Base class and Derived class This is Alibaba's audition problem. clas ...

  2. CentOS6.6搭建LNMP环境

    CentOS6.6搭建LNMP环境 1.设置yum源,本地安装依赖包 1 yum -y install gcc gcc-c++ automake autoconf libtool make 2.下载依 ...

  3. 现代软件工程 第十六章 【IT 行业的创新】练习与讨论

    16.6.0  Xerox Parc 的成功创新和推向市场的失败 http://research.microsoft.com/en-us/um/people/blampson/Slides/AltoA ...

  4. 模块加载(require)及定义(define)时的路径

    最近新公司在用requireJS进行JS的整合,刚开始接触有点蒙,于是深入了解了一下.requireJS主要是为了解决一下两个问题: (1)实现js文件的异步加载,避免网页失去响应: (2)管理模块之 ...

  5. RAID的简单介绍

    该文章全部复制转载于:http://blog.jobbole.com/83808/,只为做笔记供自己查看 简介 RAID是一个我们经常能见到的名词.但却因为很少能在实际环境中体验,所以很难对其原理 能 ...

  6. iOS开发中的错误整理,Changing the delegate of a tab bar managed by a tab bar controller is not allowed

    iOS [错误:'Changing the delegate of a tab bar managed by a tab bar controller is not allowed.'] 错误:'Ch ...

  7. iOS开发小技巧--适当的清空模型中的某个数据,达到自己的需求,记得最后将数据还原(百思项目评论页面处理最热评论)

    一.项目需求,显示所有贴的时候,需要显示最热评论,但是点击进入相应帖子后,最热评论的label不要显示,如图: 解决方案 -- 该暂时保存的暂时保存,该清空的清空                   ...

  8. Laplacian算子

    多元函数的二阶导数又称为Laplacian算子: \[ \triangledown f(x, y) = \frac {\partial^2 f}{\partial x^2} + \frac {\par ...

  9. 概率 高消light oj 1151

    t个样例 n个楼梯或蛇; a b 刚好走到a会到b; 问走到100期望; dp[i]   i到100的期望 这一点没奇怪的东西 dp[i]=1/6(dp[i+1]+dp[i+2]..+6); 有   ...

  10. Fiddler捕获 iPhone/Android 流量

    由于 Fiddler 作为代理的形式来捕获流量,因此理论上来说是不区分客户端的(当然 Fiddler 要安装在 Windows,毕竟是 .NET 开发的工具). 这一篇文章教你如何利用 Fiddler ...