[转帖]hibernateTemplate常用方法_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4042 | 回复: 1   主题: [转帖]hibernateTemplate常用方法        下一篇 
hang.zhou
注册用户
等级:少尉
经验:350
发帖:12
精华:0
注册:1970-1-1
状态:离线
发送短消息息给hang.zhou 加好友    发送短消息息给hang.zhou 发消息
发表于: IP:您无权察看 2014-7-10 21:14:25 | [全部帖] [楼主帖] 楼主

hibernateTemplate常用方法 


一、find(String queryString);

     示例:this.getHibernateTemplate().find("from bean.User");

     返回所有User对象

二、find(String queryString , Object value);

     示例:this.getHibernateTemplate().find("from bean.User u where u.name=?", "test");

     或模糊查询:this.getHibernateTemplate().find("from bean.User u where u.name like ?", "%test%");

     返回name属性值为test的对象(模糊查询,返回name属性值包含test的对象)

三、find(String queryString, Object[] values);

 示例:String hql= "from bean.User u where u.name=? and u.password=?"
this.getHibernateTemplate().find(hql, new String[]{"test", "123"});


     返回用户名为test并且密码为123的所有User对象

四、findByExample(Object exampleEntity)

     示例:

User u=new User();
u.setPassword("123");//必须 符合的条件但是这两个条件时并列的(象当于sql中的and)    
u.setName("bb");
list=this.getHibernateTemplate().findByExample(u,start,max);


     返回:用户名为bb密码为123的对象

五、findByExample(Object exampleEntity, int firstResult, int maxResults)

     示例:

User u=new User();
u.setPassword("123");//必须 符合的条件但是这两个条件时并列的(象当于sql中的and)    
u.setName("bb");
list=this.getHibernateTemplate().findByExample(u,start,max);


     返回:满足用户名为bb密码为123,自start起共max个User对象。(对象从0开始计数)

六、findByNamedParam(String queryString , String paramName , Object value)

   使用以下语句查询: 

String queryString = "select count(*) from bean.User u where u.name=:myName";
String paramName= "myName";
String value= "xiyue";
this.getHibernateTemplate().findByNamedParam(queryString, paramName, value);
System.out.println(list.get(0));


    返回name为xiyue的User对象的条数

七、findByNamedParam(String queryString , String[] paramName , Object[] value)

     示例:

String queryString = "select count(*) from bean.User u where u.name=:myName and u.password=:myPassword";
String[] paramName= new String[]{"myName", "myPassword"};
String[] value= new String[]{"xiyue", "123"};
this.getHibernateTemplate().findByNamedParam(queryString, paramName, value);


        返回用户名为xiyue密码为123的User对象

八、findByNamedQuery(String queryName)

     示例:

       1、首先需要在User.hbm.xml中定义命名查询

<hibernate-mapping>
<class>......</class>
<query name="queryAllUser"><!--此查询被调用的名字-->
<![CDATA[
from bean.User
]]>
</query>
</hibernate-mapping>


        2、如下使用查询:

this.getHibernateTemplate().findByNamedQuery("queryAllUser");


九、findByNamedQuery(String queryName, Object value)

     示例:

       1、首先需要在User.hbm.xml中定义命名查询

<hibernate-mapping>
<class>......</class>
<query name="queryByName"><!--此查询被调用的名字-->
<![CDATA[
from bean.User u where u.name = ?
]]>
</query>
</hibernate-mapping>


        2、如下使用查询:

this.getHibernateTemplate().findByNamedQuery("queryByName", "test");


十、findByNamedQuery(String queryName, Object[] value)

     示例:

       1、首先需要在User.hbm.xml中定义命名查询

<hibernate-mapping>
<class>......</class>
<query name="queryByNameAndPassword"><!--此查询被调用的名字-->
<![CDATA[
from bean.User u where u.name =? and u.password =?
]]>
</query>
</hibernate-mapping>


        2、如下使用查询:

String[] values= new String[]{"test", "123"};
this.getHibernateTemplate().findByNamedQuery("queryByNameAndPassword" , values);


十一、findByNamedQueryAndNamedParam(String queryName, String paramName, Object value) 

示例:

       1、首先需要在User.hbm.xml中定义命名查询

<hibernate-mapping>
<class>......</class>
<query name="queryByName"><!--此查询被调用的名字-->
<![CDATA[
from bean.User u where u.name =:myName
]]>
</query>
</hibernate-mapping>


        2、如下使用查询:

this.getHibernateTemplate().findByNamedQuery("queryByName" , "myName", "test");


十二、findByNamedQueryAndNamedParam(String queryName, String[] paramName, Object[] value) 

示例:

       1、首先需要在User.hbm.xml中定义命名查询

<hibernate-mapping>
<class>......</class>
<query name="queryByNameAndPassword"><!--此查询被调用的名字-->
<![CDATA[
from bean.User u where u.name =:myName and u.password=:myPassword
]]>
</query>
</hibernate-mapping>


        2、如下使用查询:

String[] names= new String[]{"myName", "myPassword"};
String[] values= new String[]{"test", "123"};
this.getHibernateTemplate().findByNamedQuery("queryByNameAndPassword" , names, values);


十三、findByValueBean(String queryString , Object value);

示例:

     1、定义一个ValueBean,属性名必须和HSQL语句中的:后面的变量名同名,此处必须至少有两个属性,分别为myName和myPassword,使用setter方法设置属性值后

ValueBean valueBean= new ValueBean();
valueBean.setMyName("test");
valueBean.setMyPasswrod("123");
2、
String queryString= "from bean.User u where u.name=:myName and u.password=:myPassword";
this.getHibernateTemplate().findByValueBean(queryString , valueBean);


十四、findByNamedQueryAndValueBean(String queryName , Object value);

示例:

      1、首先需要在User.hbm.xml中定义命名查询

<hibernate-mapping>
<class>......</class>
<query name="queryByNameAndPassword"><!--此查询被调用的名字-->
<![CDATA[
from bean.User u where u.name =:myName and u.password=:myPassword
]]>
</query>
</hibernate-mapping>


     2、定义一个ValueBean,属性名必须和User.hbm.xml命名查询语句中的:tb后面的变量名同名,此处必须至少有两个属性,分别为myName和myPassword,使用setter方法设置属性值后

ValueBean valueBean= new ValueBean();
valueBean.setMyName("test");
valueBean.setMyPasswrod("123");
3、
String queryString= "from bean.User u where u.name=:myName and u.password=:myPassword";
this.getHibernateTemplate().findByNamedQueryAndValueBean("queryByNameAndPassword", valueBean);




赞(0)    操作        顶端 
hei_nihao
注册用户
等级:少校
经验:1279
发帖:19
精华:0
注册:2015-4-17
状态:离线
发送短消息息给hei_nihao 加好友    发送短消息息给hei_nihao 发消息
发表于: IP:您无权察看 2015-4-23 14:33:40 | [全部帖] [楼主帖] 2  楼

北京联动北方科技有限公司,不错!


赞(0)    操作        顶端 
总帖数
2
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论