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语句。