SQL和HQL占位符问题
来源:互联网 发布:业务数据分析师要求 编辑:程序博客网 时间:2024/06/06 12:21
- hql是面向对象查询,格式:from + 类名 + 类对象 + where + 对象的属性
- sql是面向数据库表查询,格式:from + 表名 + where + 表中字段
- 在hibernate中使用原生sql查询
例如:
- 在hibernate中使用原生sql查询
public User login(User user) throws Exception { String sql = "select id,name,password,phone,address,email,regDate" + " from user as u where u.name = ? and u.password = ?"; Session session = sessionFactory.openSession(); SQLQuery sqlQuery = session.createSQLQuery(sql); sqlQuery.setString(0, user.getName()); sqlQuery.setString(1, user.getPassword()); sqlQuery.addEntity(User.class); Object obj = sqlQuery.uniqueResult(); session.close(); if (obj == null) return null; return (User) obj; }
- 在hibernate中使用hql查询
例如:
- 在hibernate中使用hql查询
public void modifyUserById(User user) { Session session = HibernateSessionFactory.getSession(); Transaction transaction = session.beginTransaction(); String hql = "update User as u set u.userName = ? ,u.passWord = ? ,u.sex = ? where u.id = ? "; Query query = session.createQuery(hql); query.setCacheable(false); query.setString(0, user.getUserName()); query.setString(1, user.getPassWord()); query.setString(2, user.getSex()); query.setString(3, user.getId()); System.out.println("执行了啊" + user.getUserName() + user.getId()); query.executeUpdate(); transaction.commit(); session.flush(); session.close(); }
注意:在hibernate中占位符“?”填充参数下表从 0开始。
JDBC填充时占位符从1开始。
- hibernate中给参数起别名方法填充
List users = session.createQuery("select u.id, u.name from User u where u.name like :myname and u.id=:myid").setParameter("myname", "%张%").setParameter("myid", 1) .list();
- 定义命名参数固定格式: :+参数名称(即:myid ),赋值时,直接写参数名即可: setParameter(“myid”, 1)
1 0
- SQL和HQL占位符问题
- hibernate4 hql占位符问题
- SQL & HQL语句的区别和占位符 ?
- Hibernate4 HQL查询占位符的问题
- Hibernate HQL 占位符
- Hibernate HQL[DEPRECATION] Encountered positional parameter 占位符问题
- mybatis中的sql语句中的#{}占位符和${}占位符的区别及遇到的问题
- hibernate hql语句in的使用和占位符
- HQL初步了解占位符
- Hql参数占位符使用
- hql 和sql 的区别,解决hql 嵌套的问题
- SQL和HQL大小写敏感问题
- sql语句中的#{}占位符和${}占位符
- DB2中sql语句占位符问题
- 【转】Hibernate HQL 占位符【转】
- HQL和SQL区别
- hql 和 sql 区别
- hql和sql练习题
- 测试
- servlet学习笔记
- [C#]选择排序
- 趣味100道C语言程序题num five
- [学习笔记]在页面中引用javascript代码
- SQL和HQL占位符问题
- GitHub命令笔记
- Python 点球小游戏
- 元素获取与事件绑定
- HDU.2089 & HDU.3555
- Filthy Rich(数塔)
- WebService学习总结十 使用Spring发布WebService并添加拦截器
- 朱茵近况微博自曝怀孕消息
- 【C】最大子列和问题