自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(117)
  • 资源 (6)
  • 收藏
  • 关注

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

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

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

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

基本用法不说了,网上例子很多,这里主要介绍下比较特殊情况下使用的方法。1. 分组有的时候,我们对一个实体类需要有多中验证方式,在不同的情况下使用不同验证方式,比如说对于一个实体类来的id来说,保存的时候是不需要的,对于更新时是必须的,可以如下配置:2. 组序列默认情况下,不同组别的约束验证是无序的,然而在某些情况下,约束验证的顺序却很重要,如下面两个例子:(1)第二个组中的约束验证依赖于一个稳定状态来运行,而这个稳定状态是由第一个组来进行验证的。(2)某个组的验证比较耗时,CPU 和内存的使用率相对

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

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

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

2014-12-04 16:24:40 29539 5

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

由于生活和工作的原因,“寿星天文历”我一直没有动,长时间的丢弃后,当重新拾起时,比较费劲。编程就是这样,思维的火花只在当初的那一瞬,一旦熄灭,重新再点燃断掉的思维是很困难的。因为人的“忘记”能力,真的是挺强的,有时回顾或维护以前的代码时,常常会感叹道:这是我写的吗?够牛逼,看不懂!呵呵,这时候注释的作用的凸显出来了,尽管如此有时仅仅靠注释找以前的思路也是很困难。跑题了,那么,首先对于等着“寿星天文历”封装整理版代码的各位,说声抱歉。这回整理的代码,修复了部分小bug和线程安全问题,同时整理的结构更易于理解

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

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

使用MySQL时,如果发现事务无法回滚,但Hibernate、Spring、JDBC等配置又没有明显问题时,不要苦恼,先看看MySQL创建的表有没有问题,即表的类型。InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。

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

原创 Java使用HttpURLConnection上传文件

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

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

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

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

2014-07-30 16:50:13 32254 3

转载 HttpURLConnection与HttpClient区别及联系

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

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

原创 Junit测试用例配置Log4j

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

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

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

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

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

原创 HttpClient使用详解

Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会更加深入。一、简介HttpClient是Apache Jakarta Common下的子项目,用来提供高效的

2014-02-28 11:04:29 885101 92

原创 Thumbnailator使用简介

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

2014-02-26 16:13:27 43525 14

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

在Mysql中创建外键时,经常会遇到问题而失败,这是因为Mysql中还有很多细节需要我们去留意,我自己总结并查阅资料后列出了以下几种常见原因。1. 两个字段的类型或者大小不严格匹配。例如,如果一个是int(10),那么外键也必须设置成int(10),而不是int(11),也不能是tinyint。另外,你还必须确定两个字段是否一个为 signed,而另一个又是unsigned(即:无符号),这两字段必须严格地一致匹配,更多关于signed和unsigned的信息,请参阅:http://www.verysi

2014-02-26 11:09:59 44905 10

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

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

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

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

你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? OutputStreamWriter out = ... java.sql.Connection conn = ... try { // ⑸  Statement stat = conn.createStatement();  ResultSet rs = stat.executeQuery(   "select uid, name from user")

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

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

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

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

转载 spring+mybatis 物理分页

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

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

原创 Java图片处理开源框架

图片处理是当今软件开发中非常重要的一环,然而处理图片的开源框架却并不多。现金网上流传的Java处理图片的代码,虽然可对图片进行简单处理,但效果并不理想。虽然也有些其他解决方案,但都摆脱不了繁琐,使用起来十分不方便。为了解决这个问题,我也是在网上找了好久,看了很多资料,功夫不负有心人,最终找到了一个处理图片十分棒的开源框架。特此拿出来与大家分享。Thumbnailator 是一个优秀的图片处理的Google开源Java类库。处理效果远比Java API的好。从API提供现有的图像文件和图像对象的类中简

2013-12-27 17:55:52 57525 11

转载 Maven核心之pom详解

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

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

原创 浅谈mybatis优缺点

通过上篇介绍mybatis与hibernate区别,我们已经能得出一些mybatis的优缺点,但那只是相对于hibernate的,并不全面,我来继续总结mybatis的优缺点,以便大家对于mybatis的了解能更全面些。但我所说的优缺点,仅是我个人总结并结合使用体验后得出的结果,并不能代表大众想法,因此才以“浅谈”作为文章标题。如果大家的见解与我不同,欢迎积极提出来一块讨论,我也借以弥补自己认识的不足和短见。

2013-11-30 14:24:35 76749 27

原创 mybatis与hibernate区别

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

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

原创 Java内部类详解(三)

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

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

原创 定时任务——表达式

Quartz cron 表达式的格式十分类似于 UNIX cron 格式,但还是有少许明显的区别。区别之一就是 Quartz 的格式向下支持到秒级别的计划,而 UNIX cron 计划仅支持至分钟级。许多我们的触发计划要基于秒级递增的(例如,每45秒),因此这是一个非常好的差异。在 UNIX cron 里,要执行的作业(或者说命令)是存放在 cron 表达式中的,在第六个域位置上。Quartz 用 cron 表达式存放执行计划。引用了 cron 表达式的CronTrigger 在计划的时间里会与 job

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

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

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

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

原创 Java内部类详解(二)

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

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

原创 Java内部类详解(一)

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

2013-10-26 20:54:50 3976 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 positional parameter near line 1, column 95. Positional parameter are considered deprecated; use named paramet

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

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

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

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

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

在手机广泛流行的今天,手机应用也随之越来越多,而且成长的速度也非常快。手机应用软件开发实现方式同普通PC软件一样,也分为BS和CS方式。而采用CS方式,在服务器端大多采用接口的形式提供数据交互(主流数据交互方式有:Json、WebService等),今天要说的就是如何设计接口。接口作为连通客户端与数据库进行数据流通的桥梁,起着举足轻重的作用,直接影响着程序的效率性、稳定性、可靠性以及数据的正确性、完整性。客户端注重的是界面美观,操作方便顺畅,是用户最直接的感受体验,而接口则是所有数据的提供者,是用户深层

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

原创 我为什么写博客

今天不谈技术,来说说我写博客的理由以及今后写博客的方向,以及自己的一点点想法。我至今为止写博客也有4年多的历程了(前两年在新浪),其实纵观我所有的文章,会发现我所有的文章都是以类似“教程、简介、心得、实例”的标题命名。我之所以会这么做完全是出于我写文章的目的:我希望我的文章能尽快帮助到大家,在浏览器搜索时更方便的查询到我的文章。而且我的文章内容大多是以技术分析、说明、使用方法、注意事项为主,这

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

原创 初识Maven

Maven简介Maven是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来定义生命周期阶段(Phase)中插件(plugin)目标(gole)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象

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

原创 Junit使用教程(四)

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

2013-08-17 16:52:14 24736 7

原创 Junit使用教程(三)

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

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

原创 Junit使用教程(二)

二、核心——断言断言是编写测试用例的核心实现方式,即期望值是多少,测试的结果是多少,以此来判断测试是否通过。1. 断言核心方法assertArrayEquals(expecteds, actuals)查看两个数组是否相等。assertEquals(expected, actual)查看两个对象是否相等。类似于字符串比较使用的equals()方法

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

原创 Junit使用教程(一)

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

2013-07-30 15:09:29 78272 7

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

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

2013-07-30 11:48:59 7595

原创 Spring Aop异常处理

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

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

原创 MyEclipse常用插件使用教程

一、Findbugs1. 配置1.1 打开FindBugs视图:Windows => Show View => Other… => FindBugs => Bug Info 、Bug Explorer、Bug Reviews1.2 配置FindBugs选择你的项目=>右键 => Properties => FindBugs => 选中“Run automatically”

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

原创 ibatis传递日期Date参数

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

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

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

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

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

Spring动态切换多数据源Demo

请自行修改com/resources/datasource.properties中数据库配置,Demo中配置的两个数据源,一个是Mysql,一个是Oracle。 运行之前请自行建立数据库的表。

2015-02-03

寿星天文历Java封装整理版

说明: 1. LunarCalendar对象是以月历为基准的,例如:2014年8月的月历数据。 2. LunarCalendar的所有方法都是针对于农历而言,例如getMonth方法,代表获取的是农历月的数据,而不是公历。 3. LunarCalendar实例化,默认为今天,可以指定为某天,大多数方法都是依据实例化时指定的天而返回数据的。 4. LunarDate类,是某一天的农历数据对象,并且已经拆分,而不是以前那样都混杂在一块。 5. JulianDate类,是公历数据对象。 6. LunarConstant类,是基本常量的数据对象,里面含有大量基本数据。 本次的封装版,实质上还是较为简单,没有进一步深入和挖掘,但也基本够用了。各位读者可以根据自己的需要进行进一步整理,不过再整理和改造之前,建议还是先了解下相关的知识,否则估计你都无从下手,即便改了,在不了解逻辑的情况下,也容易出错。

2014-08-14

Java获取MIME开源类库jmimemagic-0.1.2.jar

jMimeMagic是一个用来检测文件或者数据流的 MIME 类型的 Java 类库。 最新版本是V 0.1.2。 需要jar包:commons-logging-1.0.x.jar,log4j-1.2.x.jar

2014-07-30

寿星天文历Java版源码

1. 我仅仅翻译了月历和气朔中定气的部分,不包括日月食、地方食、星历等。 2. 定气部分我做了修改,以立春作为24节气起始节气。 3. 入口方法分别是yueLiCalc、qiCalc。 4. LunarDate类是js代码里多个对象的集合。 5. java版本代码是有js直接翻译而来的,因此代码中都是js的编程风格,很多变量的运用方式我认为都有隐患,因此不排除在多线程情况下含有bug

2013-01-29

QRCode所需dll

适合.net平台开发QRCode二维码所需要的dll

2012-01-08

QRCode所需jar包

该jar包已经集成QRCode的编码包和解码包。

2012-01-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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