HQL查询的使用
来源:互联网 发布:中国网瘾少年数据最新 编辑:程序博客网 时间:2024/05/19 16:06
HQL查询的实现:
HQL为面向对象的查询语言,与SQL不同,HQL中的对象名是区分大小写的(除了JAVA类和属性其他部分不区分大小写);HQL中查的是对象而不是和表,并且支持多态;HQL主要通过Query来操作。下面我用一个实例简单理解HQL的查询语句:
一、javaBean代码的编写:
public class User {
private Integer id;
private String name;
private Date birthday;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}
二、导入相应的hibernate.jar和其依赖的包
三、编写User.hbm.xml映射文件
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.hbsi.domain">
<class name="User" table="user">
<id name="id"><!-- unsaved-value判定是瞬时的还是脱管的 -->
<generator class="native"/>
</id>
<property name="name"/>
<property name="birthday"/>
</class>
</hibernate-mapping>
四、编写hibernate.cfg.xml配置文件
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory name="foo">
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql:///demo</property>
<property name="hibernate.connection.username">root</property>
<property name="connection.password">123</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="hibernate.show_sql">true</property>
<mapping resource="com/hbsi/domain/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
五、编写方法实现query查询
public static void query(String name) {
Session session = null;
try {
session = HibernateUtil.getSession();
/* StringqueryString =
"from Useruser where user.name=?";//hibernate的查询语言
*/ String queryString = "from User user where user.name=:n";// 命名参数
Query query = session.createQuery(queryString);
//query.setString(0, name);
query.setString("n", name);
//可实现分页显示
query.setFirstResult(0);// 从哪行开始
query.setMaxResults(2);// 一页显示几行
/*
* List<User>list=query.list();//多行的结果集 for(User user:list){
*System.out.println(user.getId()+":"+user.getBirthday()); }
*/
User user = (User) query.uniqueResult();// 得到一行的结果集.(明确知道有一行,如果有多行就会有异常)
System.out.println(user.getId());
} finally {
if (session != null) {
session.close();
}
}
}
- hql查询的使用:
- HQL查询的使用
- HQL的使用-part2 hql的查询(1)
- HQL的使用-part2 hql的查询(2)
- HQL的使用-part2 hql的查询(3)
- HQL的使用-part2 hql的查询(4)
- HQL:使用面向对象的HQL查询语言
- HQL 查询 使用
- hibernate使用hql 查询
- hql使用子查询
- HQL的简单查询
- hql的日期查询
- Hibernate的Hql查询
- hibernate的HQL查询
- Hibernate的HQL查询
- hibernate的hql查询
- HQL的join查询
- hql的条件查询
- 使用SAGA-GIS导入栅格文件
- 时代互联与ftp
- 怎么用ADS把.obj文件打包成库
- PHP应用-文件上传ppt
- 解决grub rescue问题
- HQL查询的使用
- hdu 1542 Atlantis
- Hibernate的关系映射-------多对一与一对多的实现举例
- PHP应用-图像处理ppt
- Hibernate的三种对象状态
- 关于零长数组
- 华容道破解者介绍
- CommandName属性和CommandArgument属性
- java字符串定长输出