Hibernate的HQL语法

Hibernate的数据库操作:

首先先获得session对象,

Session se = HibernateSessionFactory.getSession();

获得用户对象,

User user=new User();

user.setName("张三");

插入:se.save(user);

删除:se.delete(user);

修改:se.update(user);

查询

   a) se.get(User.class,id);

   通过指定的ID查询数据库表中的数据,参数1是指需要执行查询的实体;参数2是指查询条件的ID内容

   b) se.load(User.class,id);

   通过指定的ID查询数据库表中的数据,参数1是指需要执行查询的实体;参数2是指查询条件的ID内容

get与load的区别,load属于一种延迟加载的查询操作,在获得load方法操作的时候应用程序不会直接访问数据库,当方法返回的对象操作成员的时候才会与数据产生交互,而get属于一种即使加载的查询操作,在调用get方法的时候直接与数据库交互。

   c)CreatSQLQuery(参数)

    通过指定的SQL语句执行数据库交互操作

    参数:SQL语句

    String sql="select * from user";

    se.creatSQLQuery(sql).list();

   d)CreatQuery(参数)

    通过指定的HQL语句执行数据库交互操作

    特征:使用对象方式完成数据库操作

    语法:

            SQL:select * from 表名 where 字段名 = 值;

            HQL:from 对象名 where 属性名 = 值;

    查询所有:se.creatQuery("from user");

    条件查询:

    方式一:  Query q = se.creatQuery("from user where UId = ?");

                     q.setParameter(0,1);//设置UId的值;

    方式二:   Query q = se.creatQuery("from user where UId = id");

                     q.setParameter("id",1);//设置UId的值;

   d)se.creatCriteria(User.class);

    基于应用程序的一种查询方式,不支持SQL语句。

猜你喜欢

转载自suifan0116.iteye.com/blog/2419959