读书人

Spring中惯用的 getHibernateTemplate

发布时间: 2012-08-07 14:54:48 作者: rapoo

Spring中常用的 getHibernateTemplate() 方法(收藏)
? ??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命名查询语句中的:后面的变量名同名,此处必须至少有两个属性,分别为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);

?

读书人网 >行业软件

热点推荐