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来查找,但是必须是唯一标识。

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

Hibernate 中的hql语言的增删改查

一  增加 getSession().save(entity) 二  删除 1 String hql = " DELETE FROM Student dm WHERE  dm.id ...
  • AlinMa
  • AlinMa
  • 2016年12月13日 08:15
  • 2784

hibernate的hql语言实现增删改查

oracle下建表test create table(stuname char(32), stuno varchar(50), sex char(1), cource varchar(50), gra...
  • luobida222
  • luobida222
  • 2017年05月21日 20:28
  • 215

数据库的基础增删改查SQL语句

数据库的基础增删改查SQL语句
  • wxw20147854
  • wxw20147854
  • 2017年02月17日 23:45
  • 899

Hibernate基础之HQL查询基础中

1.from子句 1.1.HQL最简单的形式,唯一不可或缺的字句。 1.2.from指定了HQL语句查询的主体--持久化类和属性。 1.3.利用from字句进行联合多表查询 1.3...
  • moHedong
  • moHedong
  • 2016年09月03日 09:57
  • 489

Hibernate(无Hql语句的增删改查)

@Entity public class StudentsTest {     private SessionFactory sessionFactory;     private Session s...
  • qq_21099841
  • qq_21099841
  • 2016年06月19日 20:13
  • 519

Hibernate 一对多关联映射对象 级联增删改查示例

一.这里先讲讲inverse和cascade这两个属性的作用:     1、inverse的权限在cascade之上,意思就是cascade是否有用,还得看inverse这个属性     2、in...
  • linhaiyun_ytdx
  • linhaiyun_ytdx
  • 2017年10月15日 14:43
  • 344

hql语句的增删改查

hql语句的增删改查,自己的一个小总结 一、首先创建一个Student表来对其进行操作。先在后台创建一个Student实体类,然后配置与实体类对应的xml文件,例:Student.hbm.xml。 ...
  • fhx308050
  • fhx308050
  • 2017年02月01日 13:13
  • 253

一些常用的mysql语句,增删改查

DDL:数据库定义语句    DML:增删改查       DCL:数据库控制语句      事物 数据库的表设计:       一、库操作 1.创建数据库 create ...
  • bulrush__xiao
  • bulrush__xiao
  • 2016年10月18日 12:51
  • 1018

HQL删除语句

不多不少就一句         String hql = "delete Article a where a.id in"+"("+ids+")";
  • opklopkl123
  • opklopkl123
  • 2011年01月07日 22:06
  • 13409

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

1、为表添加主键alter table add primary key(col);主键添加前:主键添加后:2、插入数据insert into (field1,field2,field3..) va...
  • yuanmxiang
  • yuanmxiang
  • 2016年06月15日 17:08
  • 4161
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hql语句基础的增删改查
举报原因:
原因补充:

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