摘要:
离线查询使用DetachedCriteria对象设置限制条件,然后再通过session获取Criteria对象。 使用场景: 例如Biz类和Dao类,在Dao类中利用session操作CRUD,如果你想在Biz中设置限定条件,如果不使用离线查询,那么势必得获取Criteria对象,如此一来又得获取s 阅读全文
摘要:
QBC的统计查询得使用projection实现,有两种方式: 或 查看文档发现ProjectionList和Projection的关系如下所示: 由此可知ProjectionList是Projection的子类 可以使用groupProperty投影对结果集进行分组(等同于SQL的GROUP BY子 阅读全文
摘要:
使用场景: 是查询出来一个集合,然后又查询每个集合对象中的集合。使用set标签中的batch-size属性实现。 数据库中只有5个区道信息; 设置batch-size=”5”,执行的查询语句如下: 而设置batch-size=”5”,执行的查询语句如下: 由于发送sql数据的次数多少,所以batch 阅读全文
摘要:
fetch的属性值有:select(默认值)、join、subselect 1)当fetch=”select”时,程序会先查询返回要查询的主体对象,然后根据lazy属性看是否懒加载。 2)当fetch=”join”时,程序会将主体对象和关联对象用一句连接查询的sql同时查询出来,这样以来,懒加载就无 阅读全文
摘要:
修改街道对应的区道信息: 修改后会发现程序执行了两次修改操作: 原因: 区道与街道是一对多的关系; 由于Hibernate是双向维护外键,所以当修改区道中的街道时,会修改一次外键;在修改街道中的区道时,又会修改一次外键。 这样就会产生效率慢的问题,因为如果执行两次修改,那么第二次是无用的操作。利用i 阅读全文
摘要:
cascade属性是存在于set标签中,用来做级联删除和保存。 它的值有以下几种: 1)默认值是none,不做级联动作; 2)save-update:级联保存 3)delete:级联删除 4)all:级联保存和删除 阅读全文
摘要:
前台代码: Struts.xml: UserAction: 注意: 1)struts类库里面没有提供ezmorph-1.0.6.jar文件,所以要手动添加; 阅读全文
摘要:
效果演示: 实现方法:将数据库中的数据封装成对象,然后将对象转化为json数据,在客户端用异步获取后台的json数据即可。 前端代码: 后台代码: 注意: 1)在js中如果某个元素还未被加载,那么只可以获得该元素的引用,不能对该元素进行绑定事件。 阅读全文
摘要:
前台代码: struts.xml部分: action部分: 阅读全文
摘要:
前台代码: struts.xml: action: 注意: 1)文件对象名就是表单文件控件的name 2)文件类型的命名=文件对象名+FileContentType 3)文件名称的命名=文件对象名+FileName public String getSavePath() { return Servl 阅读全文
摘要:
当我们显示错误信息的时候,会发现错误信息会以列表的形式显示,这样就不美观了,达不到我们想要的标准。所以我们可以用另外的方式输出错误信息。 例如我现在增加了两个错误信息: this.addFieldError("username","用户名太长!"); this.addFieldError("user 阅读全文
摘要:
1、Struts框架有类似于html的标签,但是它有一定的格式, 但是我们可以在struts.xml中配置一个常量,去掉它的格式。 <constant name="struts.ui.theme" value="simple"/> 阅读全文
摘要:
在类型转换出错时,需要在页面上显示友好提示: 类型转换出错时,会抛出一个运行时异常,程序会根据建立的属性文件,显示相应的错误提示。 实现方法: 1)新建局部属性文件或者全局属性文件 局部属性文件:放置在相关action类同级目录下,文件名格式:action类名.properties 里面存放键值对, 阅读全文
摘要:
Struts的类型转换器用于将String类型转化为指定的数据类型,还可以将指定的数据类型转化为String类型。开发项目时很方便。 实现方法: 1)新建一个类继承StrutsTypeConverter类,实现其中的两个抽象方法,作为转换器类。 2)新建局部属性文件或者全局属性文件 局部属性文件:放 阅读全文
摘要:
话题引入: 使用hibernate+struts框架开发项目时,使用占位符时,系统抛出如下异常: Exception: java.lang.reflect.InvocationTargetException root Cause: java.lang.NoSuchMethodError: antlr 阅读全文
摘要:
话题引入: 使用hibernate进行更新操作时,首先调用了findById方法获取要修改的对象,此时session没有被关闭,接着重新创建一个对象,将要修改的属性值赋值给这个对象。调用修改方法抛出如下异常: org.hibernate.NonUniqueObjectException: a dif 阅读全文