Hibernate_增删改
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_增删改的更多相关文章
- Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示
Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...
- ASP.NET从零开始学习EF的增删改查
ASP.NET从零开始学习EF的增删改查 最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...
- 无限分级和tree结构数据增删改【提供Demo下载】
无限分级 很多时候我们不确定等级关系的层级,这个时候就需要用到无限分级了. 说到无限分级,又要扯到递归调用了.(据说频繁递归是很耗性能的),在此我们需要先设计好表机构,用来存储无限分级的数据.当然,以 ...
- MongoDB下载安装与简单增删改查
Windows下MongoDB的安装和配置.启动和停止 下载地址:MongoDB的官方下载网址是:https://www.mongodb.org/downloads 安装步骤1. 点击下载的mongo ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查
系列目录 文章于2016-12-17日重写 在第八讲中,我们已经做到了怎么样分页.这一讲主要讲增删改查.第六讲的代码已经给出,里面包含了增删改,大家可以下载下来看下. 这讲主要是,制作漂亮的工具栏,虽 ...
- php数据库访问及增删改
利用PHP访问由MySQL构建的数据库 连接到数据库 //1.造连接对象 $db = new MySQLi("localhost","root","1 ...
- 通过Java代码实现对数据库的数据进行操作:增删改查
在写代码之前,依然是引用mysql数据库的jar包文件:右键项目-构建路径-设置构建路径-库-添加外部JAR 在数据库中我们已经建立好一个表xs :分别有xuehao xingming xue ...
- Hibernate全套增删改查+分页
1.创建一个web工程 2.导入jar包 3.创建Student表 4.创建实体类 package com.entity; public class Student { private Integer ...
- 使用 Json.Net 对Json文本进行 增删改查
JSON 已经成为当前主流交互格式, 如何在C#中使用 Json.Net 对Json文本进行 增删改查呢?见如下代码 #region Create (从零创建) public static strin ...
随机推荐
- Java Little Knowledge
1.Constructor running order of Base class and Derived class This is Alibaba's audition problem. clas ...
- CentOS6.6搭建LNMP环境
CentOS6.6搭建LNMP环境 1.设置yum源,本地安装依赖包 1 yum -y install gcc gcc-c++ automake autoconf libtool make 2.下载依 ...
- 现代软件工程 第十六章 【IT 行业的创新】练习与讨论
16.6.0 Xerox Parc 的成功创新和推向市场的失败 http://research.microsoft.com/en-us/um/people/blampson/Slides/AltoA ...
- 模块加载(require)及定义(define)时的路径
最近新公司在用requireJS进行JS的整合,刚开始接触有点蒙,于是深入了解了一下.requireJS主要是为了解决一下两个问题: (1)实现js文件的异步加载,避免网页失去响应: (2)管理模块之 ...
- RAID的简单介绍
该文章全部复制转载于:http://blog.jobbole.com/83808/,只为做笔记供自己查看 简介 RAID是一个我们经常能见到的名词.但却因为很少能在实际环境中体验,所以很难对其原理 能 ...
- 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 ...
- iOS开发小技巧--适当的清空模型中的某个数据,达到自己的需求,记得最后将数据还原(百思项目评论页面处理最热评论)
一.项目需求,显示所有贴的时候,需要显示最热评论,但是点击进入相应帖子后,最热评论的label不要显示,如图: 解决方案 -- 该暂时保存的暂时保存,该清空的清空 ...
- Laplacian算子
多元函数的二阶导数又称为Laplacian算子: \[ \triangledown f(x, y) = \frac {\partial^2 f}{\partial x^2} + \frac {\par ...
- 概率 高消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); 有 ...
- Fiddler捕获 iPhone/Android 流量
由于 Fiddler 作为代理的形式来捕获流量,因此理论上来说是不区分客户端的(当然 Fiddler 要安装在 Windows,毕竟是 .NET 开发的工具). 这一篇文章教你如何利用 Fiddler ...