摘要: 1. 关于hibernate缓存的问题:1.1.1. 基本的缓存原理Hibernate缓存分为二级,第一级存放于session中称为一级缓存,默认带有且不能卸载。第二级是由sessionFactory控制的进程级缓存。是全局共享的缓存,凡是会调用二级缓存的查询方法 都会从中受益。只有经正确的配置后二级缓存才会发挥作用。同时在进行条件查询时必须使用相应的方法才能从缓存中获取数据。比如Query.iterate()方法、load、get方法等。必须注意的是session.find方法永远是从数据库中获取数据,不会从二级缓存中获取数据,即便其中有其所需要的数据也是如此。查询时使用缓存的实现过程为:首 阅读全文
posted @ 2011-12-04 23:50 啊孟 阅读(798) 评论(0) 推荐(0) 编辑
摘要: 什么时候会出现N+1问题? 在hibernate中,当进行一个表的查询时,当这个表与另外的表是多对一,或者是一对多关联时,就会出现N+1问题,当查询一条语句时,比如主键name=1,而与这个name相关联的另一张表对应name的有N个记录,这时就出另外发出N条语句去查询,而我又不要那些记录,这时就是N+1问题。即:‍1)1对多,在1方,查找得到了n个对象, 那么又需要将n个对象关联的集合取出,于是本来的一条sql查询变成了n+1条2)多对1,在多方,查询得到了m个对象,那么也会将m个对象对应的1方的对象取出, 也变成了m+1解决方法:1。设置lazy=true;2.在本类DTO中有关联另外表的 阅读全文
posted @ 2011-12-04 23:42 啊孟 阅读(611) 评论(0) 推荐(0) 编辑
摘要: JavaScript表单验证email,判断一个输入量是否为邮箱email,通过正则表达式实现。//检查email邮箱functionisEmail(str){varreg=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;returnreg.test(str);}区号+座机号码+分机号码:regexp="^(0[0-9]{2,3}/-)?([2-9][0-9]{6,7})+(/-[0-9]{1,4})?$"手机(中国移动手机号码):regexp="^((/(/d{3}/))|(/ 阅读全文
posted @ 2011-12-04 23:17 啊孟 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 1 JSP部分代码 2 3 4 5 <script src="/js/jquery-1.2.6.min.js" type="text/javascript"></script> 6 <script> 7 //为了避免jquery中的'$'与其它的'$'冲突,在此将jquery中的'$'重命名为'jQuery' 8 var jQuery=$; 9 </script> 10 11 12 13 14 <script> 15 16 17 / 阅读全文
posted @ 2011-12-04 23:08 啊孟 阅读(3662) 评论(1) 推荐(0) 编辑
摘要: 经常会用到日历控件,现在就整理一下,好看即好用的日历控件第一种方案1.建立一个JS文件:Calendar.js<!--var cal;var isFocus=false; //是否为焦点//function SelectDate(obj,strFormat) //两个参数改为只传一个function SelectDate(obj){ var date = new Date(); var by = date.getFullYear()-10; //最小值 → 10 年前 var ey = date.getFullYear()+10; //最大值 → 10 年后 cal =... 阅读全文
posted @ 2011-12-04 22:34 啊孟 阅读(1579) 评论(0) 推荐(1) 编辑
摘要: 国内: www.chinajavaworld.com -论坛人很多,高手也多,不过好像都在潜水 www.cn-java.com -也很不错,文章很好,但是就是商业性浓了点。 www.chinaitlab.com- 非常有系统性,而且推出的java远程教育是中国最全面的scjp远程教育。 www.huihoo.com -灰狐动力,有个jfox,而且很多关于企业级应用的东西 http://www.iteye.com/-要做最棒的软件开发交流社区,新发现的,人气还行.关注中 www.matrix.org.cn -Matrix技术,不少java文章和资源,论坛牛人多,人气略差。 www... 阅读全文
posted @ 2011-12-03 23:53 啊孟 阅读(879) 评论(1) 推荐(0) 编辑
摘要: 从线程分类上可以分为:用户线程(以上讲的都是用户线程),另一个是守护线程。守护线程是这样的,所有的用户线程结束生命周期,守护线程才会结束生命周期,只要有一个用户线程存在,那么守护线程就不会结束,例如java中著名的垃圾回收器就是一个守护线程,只有应用程序中所有的线程结束,它才会结束。... 阅读全文
posted @ 2011-12-03 00:16 啊孟 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 一、数据查询语言(DQL),只有一个select数据操纵语言(DML),主要包括:insert/update/delete数据定义语言(DDL),主要包括:create/drop/alter事务控制语言,主要包括:commit/rollback数据控制语言,主要包括授权等等 阅读全文
posted @ 2011-12-02 00:04 啊孟 阅读(137) 评论(0) 推荐(0) 编辑
摘要: IoC与DI 首先想说说IoC(Inversion of Control,控制倒转)。这是spring的核心,贯穿始终。所谓IoC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系。这是什么意思呢,举个简单的例子,我们是如何找女朋友的?常见的情况是,我们到处去看哪里有长得漂亮身材又好的mm,然后打听她们的兴趣爱好、qq号、电话号、ip号、iq号………,想办法认识她们,投其所好送其所要,然后嘿嘿……这个过程是复杂深奥的,我们必须自己设计和面对每个环节。传统的程序开发也是如此,在一个对象中,如果要使用另外的对象,就必须得到它(自己new一个,或者从JNDI中查询. 阅读全文
posted @ 2011-12-01 23:23 啊孟 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 首先你得定义一个全局变量来保存XMLHttpRequest对象,如:var xmlHttp;然后写一个函数用来创建XMLHttpRequest对象,function createXMLHttpRequest(){ if(window.ActiveXObject){ //这个是创建一个IE浏览器的XMLHttpRequest对象; xmlHttp=new ActiveXObject('Microsoft.XMLHTTP'); }else{ //这个是创建一个其它浏览器的XMLHttpRequest对象; xmlHttp=... 阅读全文
posted @ 2011-12-01 22:19 啊孟 阅读(213) 评论(0) 推荐(0) 编辑