S2SH -- getHibernateTemplate()常用思路方法
1、find(String queryString);
????? 举例:
getHibernateTemplate.find("from User");
?
????? 返回所有User对象
2、find(String queryString , Object value);
????? 举例:
getHibernateTemplate.find("from User u where u.name=?", "test");
?
????? 或模糊查询:
this.getHibernateTemplate.find("from User u where u.name like ?", "%test%");
?
????? 返回name属性值为test对象(模糊查询返回name属性值包含test对象)
3、find(String queryString, Object values);
????? 举例:
String hql= "from User u where u.name=? and u.password=?"
?
getHibernateTemplate.find(hql, String{"test", "123"});?
????? 返回用户名为test并且密码为123所有User对象
---------------------------------
4、findByExample(Object exampleEntity)
????? 举例:
User u= User; u.Password("123");//必须 符合条件但是这两个条件时并列(象当于sql中and) u.Name("bb"); getHibernateTemplate.findByExample(u,start,max);?
????? 返回:用户名为bb密码为123对象
5、findByExample(Object exampleEntity, firstResult, maxResults)
????? 举例:
User u= User; u.Password("123");//必须 符合条件但是这两个条件时并列(象当于sql中and) u.Name("bb"); list=this.getHibernateTemplate.findByExample(u,start,max);
?
????? 返回:满足用户名为bb密码为123自start起共max个User对象(对象从0开始计数)
---------------------------------------------------
6、findByNamedParam(String queryString , String paramName , Object value)
??? 使用以下语句查询:
String queryString = "select count(*) from 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为xiyueUser对象条数
7、findByNamedParam(String queryString , String paramName , Object value)
????? 举例:
String queryString = "select count(*) from User u where u.name=:myName and u.password=:myPassword";String paramName= String{"myName", "myPassword"};String value= String{"xiyue", "123"};this.getHibernateTemplate.findByNamedParam(queryString, paramName, value);
?
???????? 返回用户名为xiyue密码为123User对象
?---------------------------------------------------
8、findByNamedQuery(String queryName)
????? 举例:
??????? 1、首先需要在User.hbm.xml中定义命名查询
<hibernate-mapping> <>......</> <query name="queryAllUser"><!--此查询被名字--> <![CDATA[ from User ]]> </query> </hibernate-mapping>?
???????? 2、如下使用查询:
this.getHibernateTemplate.findByNamedQuery("queryAllUser");?
9、findByNamedQuery(String queryName, Object value)
????? 举例:
??????? 1、首先需要在User.hbm.xml中定义命名查询
<hibernate-mapping> <>......</> <query name="queryByName"><!--此查询被名字--> <![CDATA[ from User u where u.name = ? ]]> </query></hibernate-mapping>
?
???????? 2、如下使用查询:
this.getHibernateTemplate.findByNamedQuery("queryByName", "test");?
10、findByNamedQuery(String queryName, Object value)
????? 举例:
??????? 1、首先需要在User.hbm.xml中定义命名查询
<hibernate-mapping> <>......</> <query name="queryByNameAndPassword"><!--此查询被名字--> <![CDATA[ from User u where u.name =? and u.password =? ]]> </query></hibernate-mapping>
?
???????? 2、如下使用查询:
String values= String{"test", "123"};this.getHibernateTemplate.findByNamedQuery("queryByNameAndPassword" , values);?
?---------------------------------------------------
11、findByNamedQueryAndNamedParam(String queryName, String paramName, Object value)
?举例:
??????? 1、首先需要在User.hbm.xml中定义命名查询
<hibernate-mapping> <>......</> <query name="queryByName"><!--此查询被名字--> <![CDATA[ from User u where u.name =:myName ]]> </query></hibernate-mapping>
?
???????? 2、如下使用查询:
this.getHibernateTemplate.findByNamedQuery("queryByName" , "myName", "test");?
12、findByNamedQueryAndNamedParam(String queryName, String paramName, Object value)
?举例:
??????? 1、首先需要在User.hbm.xml中定义命名查询
<hibernate-mapping> <>......</> <query name="queryByNameAndPassword"><!--此查询被名字--> <![CDATA[ from User u where u.name =:myName and u.password=:myPassword ]]> </query></hibernate-mapping>?
???????? 2、如下使用查询:
?
String names= String{"myName", "myPassword"};String values= String{"test", "123"};this.getHibernateTemplate.findByNamedQuery("queryByNameAndPassword" , names, values);?
? ---------------------------------------------------
13、findByValueBean(String queryString , Object value);
?举例:
????? 1、定义个ValueBean属性名必须和HSQL语句中:后面变量名同名此处必须至少有两个属性分别为myName和myPassword使用ter思路方法
设置属性值后
????????? ValueBean valueBean= ValueBean;
????????? valueBean.MyName("test");
????????? valueBean.MyPasswrod("123");
????? 2、
String queryString= "from User u where u.name=:myName and u.password=:myPassword";this.getHibernateTemplate.findByValueBean(queryString , valueBean);?
? ---------------------------------------------------
14、findByNamedQueryAndValueBean(String queryName , Object value);
?举例:
?????? 1、首先需要在User.hbm.xml中定义命名查询
<hibernate-mapping> <>......</> <query name="queryByNameAndPassword"><!--此查询被名字--> <![CDATA[ from User u where u.name =:myName and u.password=:myPassword ]]> </query></hibernate-mapping>?
????? 2、定义个ValueBean属性名必须和User.hbm.xml命名查询语句中:后面变量名同名此处必须至少有两个属性分别为myName和myPassword
使用ter思路方法设置属性值后
????????? ValueBean valueBean= ValueBean;
????????? valueBean.MyName("test");
????????? valueBean.MyPasswrod("123");
????? 3、
String queryString= "from User u where u.name=:myName and u.password=:myPassword";this.getHibernateTemplate.findByNamedQueryAndValueBean("queryByNameAndPassword", valueBean);?
?