Hibernate学习-------数据库增删改查操作(部分)

(1)增加和删除

<span style="white-space:pre">	</span>@Test
	public void test()
	{
		EStudent student=new EStudent();
		student.setName("张三");
		student.setSex("男");

		Session session=sf.openSession();
		session.beginTransaction();

        session.save(student);//增

        //删除操作delete
        EStudent s=new EStudent();
        s.setId(4);//设置ID
        session.delete(s);

        session.getTransaction().commit();
        session.close();
	}

(2)get和Load查询,注意两个的区别

<span style="white-space:pre">	</span>@Test
	public void testLoad()//Load读取数据库
	{
		Session session=sf.openSession();
		session.beginTransaction();

		//参数分别为EStudent实体类和要查询的主键
		//Load只有当需要查询的对象的时候(比如getName)时才会生成并执行SQL语句
		//返回的是代理对象
		EStudent s=(EStudent) session.load(EStudent.class, 1);

		System.out.println(s.getId()+"--"+s.getName());

		session.getTransaction().commit();
//		System.out.println(s.getId()+"--"+s.getName());//如果只有在这使用到查询的对象的属性方法会报错
		session.close();
	}
	@Test
	public void testGet()//get读取数据库
	{
		Session session=sf.openSession();
		session.beginTransaction();

		//参数分别为EStudent实体类和要查询的主键
		//立即生成并执行SQL语句
		EStudent s=(EStudent) session.get(EStudent.class, 1);

		System.out.println(s.getId()+"--"+s.getName());

		session.getTransaction().commit();
		session.close();
	}

(3)update更新操作

@Test
	public void testUpdate()//更新数据库
	{
		Session session=sf.openSession();
		session.beginTransaction();

		//先查询再修改,如果修改后的属性跟原来的相同则不进行更新
		//参数分别为EStudent实体类和要查询的主键
		//立即生成并执行SQL语句
		EStudent s=(EStudent) session.get(EStudent.class, 1);
		s.setName("dou豆1");
		session.update(s);

		//先创建一个新的对象,设置ID再修改,如果不设置ID,会出错
		//如果只设置了部分属性,则未设置的属性会为空值或者默认值
		EStudent s2=new EStudent();
		s2.setId(6);//数据库中存在,如果设置的ID在数据库中不存在同样会出错
		s2.setName("豆豆豆豆");
		session.update(s2);

		session.getTransaction().commit();

		session.close();
	}

(4)HQL更新操作

	@Test
	public void testUpdateHQL()//更新数据库  使用HQL
	{
		Session session=sf.openSession();
		session.beginTransaction();

		//org.hibernate.Query    注意Update的对象
		Query q=session.createSQLQuery("Update newtablestudent set name='张三' where name='豆豆豆豆'");
		q.executeUpdate();//更新
		session.getTransaction().commit();

		session.close();
	}
时间: 2024-11-08 18:55:50

Hibernate学习-------数据库增删改查操作(部分)的相关文章

(转)SQLite数据库增删改查操作

原文:http://www.cnblogs.com/linjiqin/archive/2011/05/26/2059182.html SQLite数据库增删改查操作 一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NULL.INTEGER.REAL(浮点数字).TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型只有五种,但实际上sqlite3也接受varchar(n).char(n).d

Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作

此篇文章主要讲述DAO.Java Bean和Servlet实现操作数据库,把链接数据库.数据库操作.前端界面显示分模块化实现.其中包括数据的CRUD增删改查操作,并通过一个常用的JSP网站前端模板界面进行描述.参考前文: Java+MyEclipse+Tomcat (一)配置过程及jsp网站开发入门 Java+MyEclipse+Tomcat (二)配置Servlet及简单实现表单提交 Java+MyEclipse+Tomcat (三)配置MySQL及查询数据显示在JSP网页中 Java+MyE

php对数据库增删改查操作类

1 <?php 2 3 /** 4 * 函数名称:SqlTool.class.php 5 * 函数功能:php对数据库增删改查操作类 6 * 函数作者:张真贵 7 * 创建时间:2015-01-05 8 * 修改时间: 9 */ 10 header("Content-Type:text/html;charset=utf-8"); 11 class SqlTool{ 12 private $conn; 13 private $host = 'localhost'; 14 priva

Mybatis实现简单的数据库增删改查操作

Mybatis实现简单的数据库增删改查操作 框架:mybatis(3.5.2) 数据库:mysql 工具:idea 1.新建一个maven项目,在pom文件中添加mybatis依赖及MySQL依赖 <!-- mybatis核心依赖 --> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId&g

板邓:wordpress中wpdb类数据库增删改查操作

wordpress中wpdb可以轻松实现数据库的增删改查,wordpress开发者必须会用的类! 案例: 1.使用wpdb类插入自己创建的一个数据表(wp_person): global $wpdb; $data=array( 'denglu_id' => $_POST['denglu_id'], 'password' => $_POST['password'], 'user_name' => $_POST['user_name']); $wpdb->insert($wpdb-&g

jmeter-MongoDB 数据库增删改查操作

在日常测试过程中会发现有些测试数据是通过数据库来获取的,一般常用的数据比如SQL .Oracle,此类数据库jmeter有专门的插件进行使用JDBC,今天跟大家说一说关于Mongodb这个数据库jmeter的日常操作. 在3.1版本的时间,jmeter还有mongodb的实例,到了3.2版本 实例也没有, 那么我们要怎么操作呢, 小编在这里使用了beanshell 来代替插件,因小编代码功底不足,无法写成插件来方便大家. import com.mongodb.BasicDBObject; imp

SQLite数据库增删改查操作

一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NULL.INTEGER.REAL(浮点数字). TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型只有五种,但实际上sqlite3也接受varchar(n). char(n).decimal(p,s) 等数据类型,只不过在运算或保存时会转成对应的五种数据类型. SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段

Android SQLite数据库增删改查操作

一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库——SQLite,SQLite3支持NULL.INTEGER.REAL(浮点数字). TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型只有五种,但实际上sqlite3也接受varchar(n). char(n).decimal(p,s) 等数据类型,只不过在运算或保存时会转成对应的五种数据类型. SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段

IOS使用FMDB封装的数据库增删改查操作

// //  DBHelper.h //  LessonStoryBoard // //  Created by 袁冬冬 on 15/10/29. //  Copyright (c) 2015年 袁冬冬. All rights reserved. // #import <Foundation/Foundation.h> #import "FMDB.h" @interface DBHelper : NSObject @property (nonatomic, strong)