自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Eclipse查找替换巧妙技巧用法

用Eclipse时,查找替换,可能是我们经常用的工具,但大多数只是查找替换简单的单词文本(如查找替换warnings),但遇到复杂的情况时,大多数人可能就手工改了。 例如: /* */ public class Configuration /* */ { /* */ p...

2014-12-18 13:03:06 23572 6

原创 SpringMVC验证框架Validation特殊用法

基本用法不说了,网上例子很多,这里主要介绍下比较特殊情况下使用的方法。 1. 分组 有的时候,我们对一个实体类需要有多中验证方式,在不同的情况下使用不同验证方式,比如说对于一个实体类来的id来说,保存的时候是不需要的,对于更新时是必须的,可以如下配置: 2. 组序列 默认情况下,不同组别的约束验证...

2014-12-11 13:00:21 75416 8

原创 SpringMVC验证框架Validation自定义注解实现传递参数到国际化资源文件

关于SpringMVC验证框架Validation的使用方法,不是本篇的重点,可参见博文SpringMVC介绍之Validation 在使用Validation时,一定有朋友遇到过一个问题,那就是:无法传递参数到国际化资源文件properties错误描述中。

2014-12-04 16:24:40 27367 3

原创 寿星天文历Java封装整理版

由于生活和工作的原因,“寿星天文历”我一直没有动,长时间的丢弃后,当重新拾起时,比较费劲。编程就是这样,思维的火花只在当初的那一瞬,一旦熄灭,重新再点燃断掉的思维是很困难的。因为人的“忘记”能力,真的是挺强的,有时回顾或维护以前的代码时,常常会感叹道:这是我写的吗?够牛逼,看不懂!呵呵,这时候注释...

2014-08-14 16:39:52 6824 9

原创 MySql事务无法回滚的原因

使用MySQL时,如果发现事务无法回滚,但Hibernate、Spring、JDBC等配置又没有明显问题时,不要苦恼,先看看MySQL创建的表有没有问题,即表的类型。 InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。基本的差别为:MyISAM类型不支持事...

2014-07-31 14:29:12 13651 3

原创 Java使用HttpURLConnection上传文件

从普通Web页面上传文件很简单,只需要在form标签叫上enctype="multipart/form-data"即可,剩余工作便都交给浏览器去完成数据收集并发送Http请求。但是如果没有页面的话要怎么上传文件呢? 由于脱离了浏览器的环境,我们就要自己去完成数据的收集并发送请求...

2014-07-31 12:51:49 58542 13

原创 Java如何获取Content-Type的文件类型Mime Type

在Http请求中,有时需要知道Content-Type类型,尤其是上传文件时,更为重要,虽然有些办法可以解决,但都不太准确或者繁琐,索性我发现一个开源的类库能够解决相对完美的解决这个问题,它就是jMimeMagic。

2014-07-30 16:50:13 25465 2

转载 HttpURLConnection与HttpClient区别及联系

HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能:HttpURLConnection。   HttpURLConnec...

2014-03-31 15:33:22 9348 4

原创 Junit测试用例配置Log4j

用Junit测试非常方便,但有时我们想要看日志来方便排除,使用spring+log4j时,用Junit测试看日志很多人都不太会,即如何将Junit与log4j进行整合。 我也是研究了半天,才终于找到了方法,特此拿来与大家分享下。 Junit+spring+log4j整合之所以麻烦,是因为spr...

2014-03-31 15:03:24 41150 9

原创 连接MySql超时断开报错问题

使用Mysql数据库时,最让人头疼的一个问题就是不定时会出现连接报错异常Exception,类似的Exception如下(Hibernate为例): org.hibernate.util.JDBCExceptionReporter - SQL Error:0, SQLState: 08S01 o...

2014-03-31 12:13:11 10976 1

原创 HttpClient使用详解

Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟...

2014-02-28 11:04:29 838577 91

原创 Thumbnailator使用简介

Thumbnailator是一个非常好的图片开源工具,使用起来很方便,不过文档不是非常全面,如果遇到问题的话,有时也是不好解决的,我之前研究过,所以分享下经验,以便大家使用时更顺手些。 之前文章中Java图片处理开源框架已说明的功能我这里不再重复了。 场景一:图片尺寸不变,修改图片文件类型

2014-02-26 16:13:27 38577 11

原创 Mysql无法创建外键的原因

在Mysql中创建外键时,经常会遇到问题而失败,这是因为Mysql中还有很多细节需要我们去留意,我自己总结并查阅资料后列出了以下几种常见原因。 1. 两个字段的类型或者大小不严格匹配。例如,如果一个是int(10),那么外键也必须设置成int(10),而不是int(11),也不能是tinyint...

2014-02-26 11:09:59 37791 9

原创 Hibernate @OneToOne懒加载实现解决方案

在hibernate注解(三)中,我提高过一对一(@OneToOne)懒加载失效的问题。虽然给出了解决方法,但并没有给出完整的解决方案。今天我专门针对该问题进行讨论。至于懒加载失效的原因,在之前的文章中已经我已经叙述过了,就不再重复了,不明白的可以去看看。

2014-02-25 17:16:14 18289 1

原创 如何正确进行异常处理

你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? OutputStreamWriter out = ... java.sql.Connection conn = ... try { // ⑸  St...

2013-12-27 20:18:02 5162 6

原创 MyBatis分页返回数据不对问题

使用mybatis的分页时,一定要注意使用方法。 当表关系为一对多、多对多时,普通直接分页是有问题的,例如: 一个老师有多个学生,假设每个老师有2个学生,一共有15名老师,此时分页查询老师,每页显示10条。然而查询到的结果是:每页老师只有5名,一共有3页。

2013-12-27 20:05:31 12036 7

转载 spring+mybatis 物理分页

新项目用的spring mvc 和 mybatis 分页。研究了一下,集众家之长然后形成现在的项目。我把分页部分剥离出来与大家分享。如有不妥的地方欢迎交流拍砖。 单独做了一个小项目,放到了下载区,如果有用到的朋友可以去下载。 本项目采用了拦截器,就是mybaits自带的plus功能。将每次sele...

2013-12-27 19:39:32 9261 2

原创 Java图片处理开源框架

图片处理是当今软件开发中非常重要的一环,然而处理图片的开源框架却并不多。现金网上流传的Java处理图片的代码,虽然可对图片进行简单处理,但效果并不理想。虽然也有些其他解决方案,但都摆脱不了繁琐,使用起来十分不方便。 为了解决这个问题,我也是在网上找了好久,看了很多资料,功夫不负有心人,最终找到了...

2013-12-27 17:55:52 45436 9

转载 Maven核心之pom详解

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaL...

2013-11-30 16:03:16 5676 6

原创 浅谈mybatis优缺点

通过上篇介绍mybatis与hibernate区别,我们已经能得出一些mybatis的优缺点,但那只是相对于hibernate的,并不全面,我来继续总结mybatis的优缺点,以便大家对于mybatis的了解能更全面些。但我所说的优缺点,仅是我个人总结并结合使用体验后得出的结果,并不能代表大众想法...

2013-11-30 14:24:35 70040 26

原创 mybatis与hibernate区别

以前没怎么用过mybatis,只知道与hibernate一样是个orm数据库框架。随着使用熟练度的增加,发现它与hibernate区别是非常大的,结合至今为止的经验,总结出以下几点: hibernate是全自动,而mybatis是半自动。 hibernate完全可以通过对象关系模型实现对...

2013-11-30 12:19:02 78404 18

原创 Java内部类详解(三)

首先,静态内部类实际上与普通类(即类名必须与文件名一样的顶级类)一样,只是静态内部类在某一类的内部定义了而已,既然是类,要想使用就必须实例化。概念上与静态变量、静态方法是不一样的,不要被“静态”两个字迷惑了(不要以为凡是静态的东西就不需要实例化就可以直接使用,静态内部类是有区别),而且只有静态内部...

2013-11-23 21:39:47 6455 3

原创 定时任务——表达式

Quartz cron 表达式的格式十分类似于 UNIX cron 格式,但还是有少许明显的区别。区别之一就是 Quartz 的格式向下支持到秒级别的计划,而 UNIX cron 计划仅支持至分钟级。许多我们的触发计划要基于秒级递增的(例如,每45秒),因此这是一个非常好的差异。 在 UNIX c...

2013-10-28 21:34:04 19116 6

原创 写SQL要学会使用"执行计划"

能写SQL是程序员的基本功,而能写出性能优异的SQL是优秀程序员的必备技能。 可那些性能好的SQL语句是怎么写出来的?难道他们了解数据库底层的东西吗? 其实了解数据库原理是一方面,更快捷的是借助“执行计划”(Explain Plan)来分析SQL语句执行的步骤及过程。不同的数据库,使用执行计划的方...

2013-10-28 21:02:30 23743 3

原创 Java内部类详解(二)

三、种类 局部内部类、成员内部类、匿名内部类、静态内部类。

2013-10-27 21:27:43 2182 4

原创 Java内部类详解(一)

很多人对于Java内部类(Inner Class)都十分陌生,甚至听都没听过也没有使用过,内部类在Java中其实是比较重要的一块内容,掌握好这门知识对于编程来说,犹如插上一对翅膀。

2013-10-26 20:54:50 3693 1

原创 Hibernate占位符问题[use named parameters or JPA-style positional parameters instead.]

hibernate 4.1之后对于HQL中查询参数的占位符做了改进,如果仍然用老式的占位符会有类似如下的告警信息: [main] WARN [org.hibernate.hql.internal.ast.HqlSqlWalker] – [DEPRECATION] Encountered posi...

2013-09-29 16:08:56 24306 15

原创 hibernate之c3p0连接池配置详解

数据库连接池,项目中一旦配置好后一般很少改动,所以很多人并没有细细的研究过(有时甚至是运维的人负责配置),其实这个知识点还是很重要的,所以我在这里总结分享下,需要用到的时候拿出来看看就可以啦。这里我们介绍的是c3p0的配置方式。

2013-09-28 18:54:52 6254 2

原创 如何正确合理的设计一个接口项目

在手机广泛流行的今天,手机应用也随之越来越多,而且成长的速度也非常快。手机应用软件开发实现方式同普通PC软件一样,也分为BS和CS方式。而采用CS方式,在服务器端大多采用接口的形式提供数据交互(主流数据交互方式有:Json、WebService等),今天要说的就是如何设计接口。 接口作为连通客户...

2013-09-28 17:15:26 15069 1

原创 我为什么写博客

今天不谈技术,来说说我写博客的理由以及今后写博客的方向,以及自己的一点点想法。 我至今为止写博客也有4年多的历程了(前两年在新浪),其实纵观我所有的文章,会发现我所有的文章都是以类似“教程、简介、心得、实例”的标题命名。我之所以会这么做完全是出于我写文章的目的:我希望我的文章能尽快帮助到大家,在...

2013-09-28 11:47:45 2389 11

原创 初识Maven

Maven简介 Maven是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来定义生命周期阶段(Phas...

2013-08-17 23:15:18 3899 2

原创 Junit使用教程(四)

一、会用Spring测试套件的好处 在开发基于Spring的应用时,如果你还直接使用Junit进行单元测试,那你就错过了Spring为我们所提供的饕餮大餐了。使用Junit直接进行单元测试有以下四大不足: 1)导致多次Spring容器初始化问题 根据JUnit测试方法的调用流程,每执行一个测...

2013-08-17 16:52:14 23860 6

原创 Junit使用教程(三)

四、实例总结 1. 参数化测试 有时一个测试方法,不同的参数值会产生不同的结果,那么我们为了测试全面,会把多个参数值都写出来并一一断言测试,这样有时难免费时费力,这是我们便可以采用参数化测试来解决这个问题。参数化测试就好比把一个“输入值,期望值”的集合传入给测试方法,达到一次性测试的目的。 ...

2013-07-30 18:24:40 17195 4

原创 Junit使用教程(二)

二、核心——断言 断言是编写测试用例的核心实现方式,即期望值是多少,测试的结果是多少,以此来判断测试是否通过。 1. 断言核心方法 assertArrayEquals(expecteds, actuals) 查看两个数组是否相等。 assertEquals(expected, actua...

2013-07-30 17:01:12 49319 4

原创 Junit使用教程(一)

几乎所有程序员都听说过Junit的大名,但不知真正懂得运用它的人有多少,我便是其中的一个小白。 知道Junit是用来测试的,但却把“宝刀”当成了“菜刀”用。为了从此不再菜鸟,特此总结整理了下Junit的知识点。 一、建立Junit测试类 1. 右击test测试包,选择New-->Ohe...

2013-07-30 15:09:29 66429 6

原创 HQL使用小技巧——混合SQL

偶然间发现HQL一个非常有意思的用法,拿来分享下。 示例如下: 1. student数据库表(MySQL) CREATE TABLE `student` ( `ID` int(11) NOT NULL, `NAMES` varchar(50) NOT NULL, `AGE` in...

2013-07-30 11:48:59 7220 0

原创 Spring Aop异常处理

在Spring Aop实例的文章中,我向大家介绍了Spring Aop的相关知识,今天我进一步细化下Aop中异常处理的相关知识。 public void doThrowing(JoinPoint jp, Throwable ex) { System.out.println("me...

2013-06-30 15:57:02 4738 1

原创 MyEclipse常用插件使用教程

一、Findbugs 1. 配置 1.1 打开FindBugs视图: Windows => Show View => Other… => FindBugs => Bug Info 、Bug Explorer、Bug Reviews 1.2 配置FindBugs ...

2013-06-30 14:44:41 18788 11

原创 ibatis传递日期Date参数

这本来是一个简单的问题,但是在网上查阅了半天也没找到结果,最后阅读官方文档后,终于找到了方法。 其实非常简单,只需要在接口方法参数上加上@Param注解。 另外如果需要传递多个参数时,可以使用该注解来实现。 例子: public List selectTeacher(@Param(valu...

2013-06-29 22:44:18 14061 1

原创 静态变量缓存需要注意的事

在项目过程中,我们有时经常喜欢用静态变量(static)来缓存一些不便的公共数据,但是这么做有一点需要注意:静态变量的保护。 由于一些因素(比如查询数据库),我们无法对静态变量加上final属性,因此如果静态变量暴漏后,如果有对静态变量写操作(即修改变量)的话,很可能会引起意想不到的错误。当然平...

2013-06-29 21:59:36 10141 1

提示
确定要删除当前文章?
取消 删除