`
文章列表
在使用eclipse+MyEclipse开发中,许多文件编码默认是ISO-8859-1,不支持中文(如常用的JSP),这样我们每次建文件都要手动改编码,其实我们可以在设置文件默认编码,今后再创建时就不用每次修改编码了,UTF-8  如果要使插件开发 ...

spring整合hibernate

6.5 Spring整合Hibernate 时至今日,可能极少有J2EE应用会直接以JDBC方式进行持久层访问。毕竟,用面向对象的程序设计语言来访问关系型数据库,是一件让人沮丧的事情。大部分时候,J2EE应用都会以ORM框架来进行持久层访问,在所有的ORM框架中,Hibernate以其灵巧、轻便的封装赢得了众多开发者的青睐。 Spring具有良好的开放性,能与大部分ORM框架良好整合。下面将详细介绍Spring与Hibernate的整合。 6.5.1 Spring提供的DAO支持 DAO模式是一种标准的J2EE设计模式,DAO模式的核心思想是,所有的数据库访 问,都通过DAO组件 ...
  a) 完成同样一件事,Hibernate提供了可供选择的一些方式,但具体使用什么方式,可能用性能/代码都会有影响。显示,一次返回十万条记录 (List/Set/Bag/Map等)进行处理,很可能导致内存不够的问题,而如果用基于游标(ScrollableResults)或 Iterator的结果集,则不存在这样的问题。       b) Session的load/get方法,前者会使用二级缓存,而后者则不使用。          c) Query和list/iterator,如果去仔细研究一下它们,你可能会发现很多有意思的情况,二者主要区别(如果使用了Spring,在Hibernate ...
在junit.test里提示错误:nested exception is java.lang.NoClassDefFoundError: edu/emory/mathcs/backport/java/util/concurrent/BlockingQueue原因:没有包含:backport-util-concurrent.jar上面情况还会导致在启动tomcat时出现以下错误:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined ...
表 t_a, 有三个字段 id,name,age   有三条数据:1,wang,12                   2,lian,11                   3,wang,14                   4,lian,13                   5,wang,23                   6,hua,15   其中,name字段有好几个是重复的,对于重复的name,只查出一条数据: select *   from t_a as a where not exists(select 1 from t_a  where    ...
在使用SessionFactory的getCurrentSession方法时遇到如下错误,经过检查,原因如下: 是因为在hibernate.cfg.xml文件中忘记进行了如下设置:hibernate.current_session_context_class 如果是在web容器中运行hibernate,则在hibernate.cfg.xml中加入这句话: <property name="hibernate.current_session_context_class">jta</property> 如果是在一个单独的需要进行JDBC连接的java ...
Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。       1.INSERT INTO SELECT语句       语句形式为:Insert into Table2(field1,field2 ...
自己写的关于java多线程方面的总结和笔记
SPI的全名为Service Provider Interface.普通开发人员可能不熟悉,因为这个是针对厂商或者插件的。在java.util.ServiceLoader的文档里有比较详细的介绍。究其思想,其实是和"Callback"差不多。“Callback”的思想是在我们调用API的时候,我们可以自己写一段逻辑代码,传入到API里面,API内部在合适的时候会调用它,从而实现某种程度的“定制”。     典型的是Collections.sort(List<T> list,Comparator<? super T> c)这个方法,它的第二个参数是一个 ...
每次用tomcat的时候,每当我对类做了修改必须要重新启动tomcat才能使其生效。其实我们可以在tomcat里的server.xml小做修改即可实现当我们修改了类或其他文件时候自动重新加载tomcat。如下: Java代码   <Context path="/struts2" docBase="G:\myEclipseWorkSpace\struts2\WebRoot"  debug="0"   reloadable="true"/>    <Context path= ...
今天遇到了一个小问题,就是eclipse下导入的工程都无法编译了,也就是运行project --> clean,将工程编译后的.class文件清除后,默认的bin目录下(或是自己设置的编译后输出目录)没有任何文件生成。最终解决了这个问题,总结一下~~   1 查看工程是否有错误(左上角是否有个红色的叉),如果有错误的话,eclipse是不会编译此工程的。注意,有时在Navigator模式下是看不到错误提示的,这时要转到package explorer中去看。 2 是否设置了自动编译?把project --> Build Automatically勾上后,工程即会自动进行编译 ...
struts2确实一个非常棒的MVC框架。这里部分记述一下struts2对AJAX的支持。 实现AJAX有两种方式,一种是使用原生的javascript代码实现,一种是使用第三方的ajax框架(jquery,dwr,dojo等),jquery和dwr比较简单,做项目时也会经常用到。dojo暂时没有用过,不过有很多大公司的支持如IBM等。 这里主要使用jquery实现ajax。 按ajax传输的数据格式不同又可以分为三种,普通的字符串(stream),json串和XML串。 关于json和xml的知识这里不再详述,不清楚的地方可自查资料。 1.stream格式 就是普通的字符串,例如“你好”, ...
DynaBean 的使用        在正常的开发的过程中,我们时常会遇到这样的问题, JavaBean 的属性是不确定的、动态的,其属性的确定是由逻辑控制来处理的。比如这样的一种情况,有一组基本报表信息需要 JavaBean 来描述,这组报表在结构上具有很大的相似性,如果你不想为每一份基本报表都创建一个 JavaBean ,那么接下来为你介绍一种为 JavaBean 动态创建属性的方法。 1.   DynaBean 的创建        为了描述的便利,我们虚拟一个简单的需求环境,就以上面提到的描述一组基本报表信息为例吧,我们假设基本报表的名称为
java.util.ConcurrentModificationException 解决办法 今天在项目的中有一个需求,需要在一个Set类型的集合中删除满足条件的对象,这时想当然地想到直接调用Set的remove(Object o)方法将指定的对象删除即可,测试代码:   public class Test {    public static void main(String[] args) {        User user1 = new User();        user1.setId(1);        user1.setName("zhangsan"); ...
原来我一直认为只有当创建session对象时才有session,其实不是。在第一次请求时就有了session,只是在jsp/servlet中session的对象(记好是对象)在jsp中默认创建,而在servlet中需要显示的创建。下面是网上看到的一些总结:关于HttpSessi ...
Global site tag (gtag.js) - Google Analytics