使用Session里面的方法进行CRUD操作

(1) 增加 save 方法

(2) 查找 get 方法(根据id查)

(3) 修改 update 方法

(4) 删除 delete 方法


1、增加

    /**
* 增加操作
*/
public void testCreate(){
//找到src下名为hibernate.cfg.xml的配置文件,加载核心配置文件。
Configuration cfg = new Configuration();
cfg.configure();
//创建SessionFactory对象,在核心配置文件中找到各个映射文件如User.hbm.xml。
//一般一个项目只创建一个SessionFactory因为SessionFactory创建极为耗费资源。
//这里为了方便每个测试创建了一个
SessionFactory sessionFactory = cfg.buildSessionFactory();
//创建session对象,里面封装了很多对数据库的操作。
//sesssion是单线程对象,不能共用
Session session = sessionFactory.openSession();
//开启事物
Transaction tx = session.beginTransaction(); User user = new User();
user.setuName("你好");
user.setuPwd("世界");
session.save(user); //提交事物
tx.commit();
//关闭资源
session.close();
sessionFactory.close(); }

2、查找

/**
* 查询操作
*/
public void testRetrieve(){
Configuration cfg = new Configuration();
cfg.configure();
SessionFactory sessionFactory = cfg.buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction(); User user = new User();
user = session.get(User.class, 1);
System.out.println(user.toString()); tx.commit();
session.close();
sessionFactory.close(); }

3、修改

/**
* 修改操作
*/
public void testUpdate(){
Configuration cfg = new Configuration();
cfg.configure();
SessionFactory sessionFactory = cfg.buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction(); User user = new User();
user = session.get(User.class, 1);
user.setuName("Hello");
session.update(user); tx.commit();
session.close();
sessionFactory.close();
}

4、删除

/**
* 删除操作
*/
public void testDelet(){
Configuration cfg = new Configuration();
cfg.configure();
SessionFactory sessionFactory = cfg.buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction(); User user = new User();
user = session.get(User.class, 1);
session.delete(user); tx.commit();
session.close();
sessionFactory.close();
}

实体类

package dao;

public class User {
private int uId;
private String uName;
private String uPwd;
public int getuId() {
return uId;
}
public void setuId(int uId) {
this.uId = uId;
}
public String getuName() {
return uName;
}
public void setuName(String uName) {
this.uName = uName;
} public String getuPwd() {
return uPwd;
}
public void setuPwd(String uPwd) {
this.uPwd = uPwd;
}
@Override
public String toString() {
return "User [uId=" + uId + ", uName=" + uName + ", uPwd=" + uPwd + "]";
}
}

hibernate Session的CRUD操作的更多相关文章

  1. Hibernate中的CRUD操作

    1.添加数据操作 插入数据使用session对象的save()方法完成.   插入代码: @Test public void Test1(){ SessionFactory sessionFactor ...

  2. 【Java EE 学习 44】【Hibernate学习第一天】【Hibernate对单表的CRUD操作】

    一.Hibernate简介 1.hibernate是对jdbc的二次开发 2.jdbc没有缓存机制,但是hibernate有. 3.hibernate的有点和缺点 (1)优点:有缓存,而且是二级缓存: ...

  3. hibernate之CRUD操作

    CRUD是指在做计算处理时的增加(Create).读取(Retrieve)(重新得到数据).更新(Update)和删除(Delete)几个单词的首字母简写. 下面列举实例来讲解这几个操作: 实体类: ...

  4. hibernate入门-基本配置及简单的crud操作

    框架来说主要是需要写大量的配置文件,hibernate相比mybatis来说更强大,移植性更好: 1.类和数据库的映射配置:配置文件命名一般--类名.hbm.xml (user.hbm.xml),与实 ...

  5. java框架篇---hibernate之CRUD操作

    CRUD是指在做计算处理时的增加(Create).读取(Retrieve)(重新得到数据).更新(Update)和删除(Delete)几个单词的首字母简写. 下面列举实例来讲解这几个操作: 实体类: ...

  6. 【SSH三大框架】Hibernate基础第五篇:利用Hibernate完毕简单的CRUD操作

    这里利用Hibernate操作数据库完毕简单的CRUD操作. 首先,我们须要先写一个javabean: package cn.itcast.domain; import java.util.Date; ...

  7. hibernate的CRUD操作

    一对多关系映射的crud操作: 1.单项的保存操作 /** * 保存操作 * 正常的保存:创建一个联系人,需要关联客户 */ @Test public void test1(){ Session s= ...

  8. Hibernate之Session缓存以及操作Session缓存的相关方法

    1.Session概述 A.Session 接口是 Hibernate 向应用程序提供的操纵数据库的最主要的接口, 它提供了基本的保存, 更新, 删除和加载 Java 对象的方法. B. Sessio ...

  9. Hibernate CRUD操作

    版权声明:本文为博主原创文章,如需转载请标注转载地址 博客地址:http://www.cnblogs.com/caoyc/p/5594789.html  对于Hibernate的增删改查,我们还是用一 ...

随机推荐

  1. Android Gradle基础实践

    1,gradle是全新的一种IDE编程环境,Android Studio集成了Gradle IDE 2,要下载gradle(比方gradle-2.10)解压.配置环境变量.比方G:\Program   ...

  2. [转]php-fpm配置具体解释

    [转]php-fpm配置具体解释 php-fpm具体解释 原文链接:http://php-fpm.anight.org/wiki:http://www.php-fpm.com/翻译:http://sy ...

  3. Jscript 随记

    1.Jscript 不能用来编写独立执行的应用程序,而且没有对读写文件的内置支持. 2.注意,语句块中的原始语句以分号结束.但语句块本身并不以分号结束. 3.注意,Jscript 与 C++ 以及其它 ...

  4. ES7新特性

    Array.prototype.includes Array.prototype.includes用法都容易和简单.它是一个替代indexOf,开发人员用来检查数组中是否存在值,indexOf是一种尴 ...

  5. 安卓---JNI使用

    交叉编译 系统平台:Windows.Mac OS.Linux CPU平台:ARM.X86.MIPS 概念:在一个平台下打包编译出还有一个平台能够运行的程序#交叉编译原理 源代码->预编译-> ...

  6. linux常用命令(个人学习笔记)

    个人说明:学习linux也有半年左右的时间了,从一开始的只会简单的开关机,到现在的熟悉应用一些简单的命令,还是有些进步的,不过对于我这种菜鸟来说,如果不经常用,发现忘的很快.所以就把在学习过程中遇到的 ...

  7. c#实现记事本

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  8. hdu 1540/POJ 2892 Tunnel Warfare 【线段树区间合并】

    Tunnel Warfare                                                             Time Limit: 4000/2000 MS ...

  9. elk升级文档

    1.kibana等都统一版本了,5.4版本的kibana要5.4版本的elasticsearch 2.现有架构: logstash logstash读取日志-------->内网redis做队列 ...

  10. Httpclient 实现带参文件上传

    这里直接贴出的是我封装好的doPostFile方法,httpclient 的版本是3.1. public static String doPostFile(String url, Part[] par ...