javan

i like java
随笔 - 0, 文章 - 28, 评论 - 2, 引用 - 0
数据加载中……

hibernateTemplete的findByNameQurey方法的三种重载方式

hibernateTemeplete是spring提供的,用于对DAO操作;
findByNameQurey方法的三个重载方法及其应用如下:
findByNamedQuery有三个从栽入方法:
findByNamedQuery(String queryName);
findByNamedQuery(String queryName,Object value);
findByNamedQuery(String queryName,Object values);
查看API说的很清楚 :
Execute a named query 
for persistent instances. A named query is defined in a Hibernate mapping file.
意思说所 :
通过 queryName 查询数据库中的持久对象,而queyName是定义在此对象对应的hibernate的映射文件中的
!
定义语法如下:
<query name="定义查询名">
<![定义查询语句]]>
</query>
例1:findByNamedQuery(String queryName);
<query name="all">
<![from User]]>
</query>
findByNamedQuery(
"all");

例2: findByNamedQuery(String queryName,Object value);
<query name="byname">
<![from User where u.name = ?]]>
</query>

findByNamedQuery(
"byname","tiger");

例3: findByNamedQuery(String queryName,Object values);
<query name="byNameAndAge">
<![from User where u.name = ? and u.age = ?]]>
</query>
findByNamedQuery(
"byNameAndAge",new Object[]{"tiger",18});


HibernateTemplate 还有一个方法 :
findByNamedQueryAndNamedParam(String queryName,String[] paramNames, Object[] values)

这是映射文件就要用: 而不是
?
如:
<query name="byNameAndAge">
<![from User where u.name = :name and u.age = :age]]>
</query>

posted on 2009-06-08 10:03 whl 阅读(240) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: