- 浏览: 457857 次
- 性别:
- 来自: 北京
最新评论
-
飞天奔月:
我来个简单点的代码 使用 LinkedHashSetpubli ...
ArrayList去重 -
飞天奔月:
public static <T> List< ...
ArrayList去重 -
aaron7524:
事务隔离级别 -
月陨殇:
wlh269 写道rswh110 写道lz内容写的不错,就是略 ...
事务隔离级别 -
lnx1824:
我的更奇怪,在本地静态的可以,放jetty里的页面后就不然,都 ...
JS得到上传图片尺寸
文章列表
对象导航查询,在hql中采用.进行导航(重要)
参见:ObjectNavQueryTest.java
package com.wlh.hibernate;
import java.util.Iterator;
import java.util.List;
import org.hibernate.Session;
import junit.framework.TestCase;
public class ObjectNavQuery extends TestCase {
public void testQuery1() {
Session s ...
- 2009-02-02 13:17
- 浏览 2110
- 评论(0)
分页查询(重要)
* setFirstResult(),数据的起始位置,从0开始
* setMaxResults, 每页显示多少条数据
参见:PageQueryTest.java
package com.bjsxt.hibernate;
import java.util.Iterator;
import java.util.List;
import org.hibernate.Session;
import junit.framework.TestCase;
public class PageQueryTest extends TestCase {
...
- 2009-02-02 13:05
- 浏览 1196
- 评论(0)
查询过滤器
设置了查询过滤器,并在程序中打开了过滤器,则在同一个session中,将在所有的查询语句后面都会加上预定好的查询条件,
* 在映射文件中定义过滤器的参数
* 在类的映射文件中使用过滤器参数
映射文件student.hb ...
- 2009-02-02 12:22
- 浏览 1853
- 评论(0)
外置命名查询
* 在要查询对象对应的映射文件(这里是student.hbm.xml)中采用<query>标签来定义hql
<query name="searchStudents">
<![CDATA[
select s from Student s where s.id<?
]]>
</query>
* 在程序中使用session.getNamedQuery()来得到hql查询串
参见:NameQueryTest.java
package com.wlh.hibernate;
impor ...
- 2009-02-02 12:04
- 浏览 2299
- 评论(1)
hibernate也支持直接sql进行查询
参见:SqlQueryTest.java
package com.bjsxt.hibernate;
import java.util.Iterator;
import java.util.List;
import org.hibernate.Session;
import junit.framework.TestCase;
/**
* 原生sql查询
* @author Administrator
*
*/
public class SqlQueryTest extends TestCase {
...
条件查询(重要)
* 可以采用拼字符串的方式传递参数
* 可以采用 ?号的方式传递参数
* 可以采用 :参数名的方式传递参数
* 如果传递多个参数,使用setParameterList来传递
* 在hql中可以使用数据库的函数,如:date_format
* 参见:SimpleConditionQueryTest.java
"like" 和 "=" 都可以通过 ": 参数名" 或者 "?" 接参数
如下: like :参数名 ,like ? , =:参数名 , =?
package c ...
实体对象查询(重要)
* N+1问题,在默认情况下使用query.iterate查询,有可能出现N+1问题,所谓的N+1
是查询对象的时候发出了N+1条sql语句
1:首先发出一条查询id列表的sql
N:根据id列表发出n条查询语句
* list和iterate的区别?
* list在默认情况下,只向缓存中放入数据,而不利用缓存中的数据
* iterate在默认情况下有N+1问题,如果缓存中存在数据那么会根据id到缓存获取数据
也就说iterate是利用缓存的
参见:SimpleObjectQueryTest1.java ...
- 2009-02-02 11:05
- 浏览 1563
- 评论(0)
1,自定义异常:PasswordErrorExcetion.java / UserNotFoundException.java
2,单例模式UserMgr.java
3,不要在Action中放入业务逻辑的处理,业务逻辑应该交给专门的Model层(UserMgr.java)去做;
4,处理成功和错误之后的跳转,
5,跳转后页面如何得到表单提交的信息:
1),在自定义的Action中通过requst.setAttribute()保存,在跳转后的页面中取出
2),不用在自定义的Action中保存,在跳转之后的页面通过requst.getAttribute("自定义ActionForm名 ...
- 2009-02-02 01:39
- 浏览 1123
- 评论(0)
简单属性查询(重要)
* 单一属性查询,返回结果集是属性列表,其元素类型和实体类中相应的属性类型一致
* 多个属性查询,返回的结果集是对象数组,数组的长度和查询的属性的个数一致
数组元素的类型和查询的属性类型一致
* 如果认为返回的数组不够对象化,可以采用hql动态生成实体对象
参加:SimplePropertyQueryTest.java
package com.wlh.hibernate;
import java.util.Iterator;
import java.util.List;
import junit.framework.TestCase;
...
- 2009-02-02 01:13
- 浏览 1924
- 评论(0)
package com.wlh.hibernate;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
//返回2007-01-01到2007-03-01的一个随机日期
public static void main(String []args){
Date randomDate=randomDate("2007-01-01","2007-03-01");
System.out.pr ...
- 2009-02-01 17:05
- 浏览 1251
- 评论(0)