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 ...
随机推荐
- Android开发环境部署
引言 在windows系统中安装Android的开发环境,将分为五个步骤来完成: 第一步:安装JDK 第二步:配置Windows上JDK的变量环境 第三步: 下载安装Eclipse 第四步:下载安 ...
- RabbitMQ官方中文入门教程(PHP版) 第四部分:路由(Routing)
路由(Routing) 在前面的教程中,我们实现了一个简单的日志系统.可以把日志消息广播给多个接收者. 本篇教程中我们打算新增一个功能——使得它能够只订阅消息的一个字集.例如,我们只需要把严重的错误日 ...
- android请求root权限
应用获取Root权限的原理:让应用的代码执行目录获取最高权限.在Linux中通过chmod 777 [代码执行目录] //请求root权限 public static boolean upgra ...
- Java GC收集器配置说明
根据Java GC收集器具体分类,我们可以看出JVM根据需求不同提供了三种选择:串行收集器.并行收集器.并发收集器. 串行收集器只适用于小数据量的情况,我们主要了解一下并行收集器和并发收集器.默认情况 ...
- [转]Hibernate设置时间戳的默认值和更新时间的自动更新
原文地址:http://blog.csdn.net/sushengmiyan/article/details/50360451 Generated and default property value ...
- iOS开发--QQ音乐练习,后台播放和锁屏界面
一.设置后台播放 首先允许程序后台播放 代码实现 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOpti ...
- python 进程间共享数据 (二)
Python中进程间共享数据,除了基本的queue,pipe和value+array外,还提供了更高层次的封装.使用multiprocessing.Manager可以简单地使用这些高级接口. Mana ...
- Echarts-画柱状,折线图
导入echarts包 <script src='../scripts/libraries/echarts/echarts-all.js'></script> 堆积图js var ...
- python协程和yeild
python多线程其实在操作系统级别是进程,因为在执行时,默认加了一个全局解释器锁(GIL),python的多线程,本质还是串行的,无法利用多核的优势:在java和C# 中,多线程是并发的,可以充分利 ...
- (String)、toString、String.valueOf的区别
String.valueOf()它可以将JAVA基本类型(int,double,boolean等)和对象(Object)转换成String型toString()是对象的方法,它可以将该对象转换成Str ...