首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

S2SH - getHibernateTemplate()惯用思路方法

2012-08-22 
S2SH -- getHibernateTemplate()常用思路方法1、find(String queryString)????? 举例:getHibernateTemplat

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);
?

?

热点排行