hql语句基础的增删改查

原创 2016年08月31日 13:25:46

hql语句基础的增删改查:

注意首先要继承HibernateDaoSupport;

以User为例子,User的两个成员变量username,userpass;

1.增
增加比较简单,直接存入对象,而且对象也不需要全部的成员变量都赋值,如果不赋值会默认为null,不过有一点需要注意,在你的数据库中(我用的是mysql)如果有datetime这样类型的时候,就需要去赋值,不然会报错。

User user = new User(username,userpass);
this.getHibernateTemplate().save(user);

2.查
因为删除和修改都需要用到查,就先说一下查找:
有一点需要注意,这个查找的是对象,而不是数据的表,所有的操作都是针对于对象。
第一种:最简单的查找,查找整个表中的数据:

this.getHibernateTemplate().find("from User");

第二种:单条件查找,根据字段名查找数据,比如根据用户名查找:

this.getHibernateTemplate().find("from User where username = ?",username);

第三种:多条件查找,比如根据用户名和密码查找:

this.getHibernateTemplate().find("from User where username = ? and userpass = ?",new String[] { username, userpass });

第四种:根据对象查找,如果在数据表的设计中有外键,或者说一对多,多对一,多对多的关系的时候,在生成对象的时候,它存储的也是一个对象,比如说现在有一个对象Power,在数据库中,power的外键是user的id,但是在hibernate生成对象的时候,user成为了Power的成员变量,查找方式如下,以上面类似:

this.getHibernateTemplate().find("from Power where user = ?",user);

注意的是,返回的值可以用list存储。
3.改
修改首先要找到修改的是那一条数据,然后再修改,一般来说是通过id(主键)识别:

User user = new User();
List<User> users = this.getHibernateTemplate().find("from User where userId=?",id);
user = users.get(0);
this.getHibernateTemplate().update(user);

4.删
删除和修改类似,都是先找到要修改的对象,再删除:

User user = new User();
List<User> users = this.getHibernateTemplate().find("from User where userId=?",id);
user = users.get(0);
this.getHibernateTemplate().delete(User);

注:不一定要通过id来查找,但是必须是唯一标识。

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

hql语句基础的增删改查

hql语句基础的增删改查

Hibernate增删改查的HQL语句

转自:原地址 Hibernate的所有的操作都是通过Session完成的. 基本步骤如下: 1:通过配置文件得到SessionFactory:      SessionFactory sess...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

SQL 基础增删改查语句

关键词 DISTINCT 用于返回唯一不同的值 AND 和 OR运算符 ORDER BY 语句用于对结果集进行排序 select update insert delete

hibernate 的sql语句以及hql语句增删改查

写一个关于hibernate的sql和hql语句实现增删改查,**注意:**hibernate的hql语句是不能实现insert的,所以和我一样有强迫症的一定要把这两者写在一起比较的不要纠结了。 至...

mysql基础语句--2

前面我们已经学会了如何去建立库、建立表,接下来我们来学习关于表中信息的增删查改这几种命令。 1、向表中增加信息   一张表的最小单位是行,所以我们在增加和删除时所操作的最小单位是行。假设已...

SQL对数据库的操作(增删查改)

use sales                       -------指...

MySQL增删改查语句

20110913         MySQL增删改查语句 一、操作数据(查询) 1、DISTINCT 语法:SELECT [DISTINCT] 列名[, 列名]... FROM 表名 DIST...

mysql基础

1.开启mysql的远程访问(remote access) 1.sudo vim /etc/mysql/my.cnf------//打开配置文件 2.bind-address = 127.0.0.1-...

mysql增,删,改,查语句

查询方式 ThinkPHP可以支持直接使用字符串作为查询条件,但是大多数情况推荐使用索引数组或者对象来作为查询条件,因为会更加安全。 一、使用字符串作为查询条件 这是最传统的方式,但是安全性不高...

基础SQL语句

Oracle(base): 1.        表空间 a)        临时表空间(查询和存放一些缓冲区数据)   ...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)