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. JavaScript学习笔记-元素在滚动条滑动一定高度后自动置顶

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  2. 41-tr 简明笔记

    替换指定的字符 tr [options] string1 string2 参数 tr通常带有两个参数:string1 和 string2 ,当tr发现与string1中有匹配的字符时,它将使用stri ...

  3. zabbix3.0安装教程

    一.Zabbix介绍 zabbix 简介 Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费 ...

  4. PHP中生成json信息的方法

    <?php //php中生成json信息 //json_encode(数组/对象) $color = array('red','blue','green'); //[索引数组] echo jso ...

  5. display~

  6. tomcat 监控

    主要监控JVM (1)JPS(快速获取Java的PID) 这个是jdk包里的 显示Java进程的 +l +v +m (2)jstack 命令格式: 常用说明: (3)jmap 现在列举生产中遇到的JV ...

  7. HSV

    HSV 相比于面向机器的RGB, HSV或HSI更贴近于人对颜色的描述: H: Hue, 颜色本身 S: Saturation, 纯色被白色稀释的程度. V: Value, 或I, Intensity ...

  8. SpringMVC与Struts2区别与比较总结

    1.Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上Spr ...

  9. 【USACO 2.1】Healthy Holsteins

    /* TASK: holstein LANG: C++ URL: http://train.usaco.org/usacoprob2?a=SgkbOSkonr2&S=holstein SOLV ...

  10. 【USACO 1.3】Barn Repair

    贪心,去掉最大的min(m,c)-1个间隔 /******************************************* TASK: barn1 LANG: C++ Created Tim ...