版本 1.0.5 更新内容: 增加自定义sql解析转换,使用native方式执行自定义sql时可以在sql中使用类名和类属性了。 resultClass方法增强,支持JavaBean外的基本类型,例如String、Long等 select 增加firstResult (objRirstResult、oneColFirstResult)方法, 与singleResult方法
1年前发布 4429阅读 评论
介绍 这是?OAuth 2.0?的用户指南。OAuth 1.0?与之大不相同,若有需求,请阅读?1.0 的用户指南。 本用户指南分为两个部分,一部分针对的是 OAuth 2.0?的提供方[译者注:通常指服务提供方],另一部分则是针对?OAuth 2.0?客户端。对于提供方和客户端双方来说,最好的示例代码是集
1年前发布 6439阅读 评论
前言 项目组希望能有一个比较完善,可以生成各类代码的工具,因为之前写过所以趁这两天重新弄了个。 代码生成工具命名为dgen -> dexcoder-generator,旨在提高开发人员效率,避免重复劳动。 理论上可以生成任何想要的代码文件,包括实体类、dao、service及页面文件等,另外
1年前发布 4833阅读 评论
注意:本组件已重构并全新发布,更加方便易于使用。代码全部开源,详情访问 Github仓库 或 码云 版本:2.1.0-beta1 增加了表别名的支持。 单表操作一般情况下是不需要表别名的,但是也有一些特殊的情况,例如在操作oracle的xmltype类型时。 看下面的代码,xmltype类型字段名为
1年前发布 4946阅读 评论
注意:本组件已重构并全新发布,更加方便易于使用。代码全部开源,详情访问 Github仓库 或 码云 版本:v2.0.0-beta1 本次对代码进行了彻底的重构,并调整了项目结构,项目命名为dexcoder-dal。 主要更新: 彻底的代码重写 Criteria方式针对sql的api调整 Criteria中支持sql函数
1年前发布 5263阅读 评论
前面,我们已经准备好了一切,配置信息、任务信息、数据库查询出来的表信息等等都已经拿到手了,接下来就是根据这些信息来进行代码生成了。 代码生成说白了就是弄个模板,字符串的替换而已,无非就是怎么样才能实现的比较优雅,在这里我们使用了velocity,可以省下大量繁琐的
1年前发布 6132阅读 评论
数据库信息的查询,无非就是查询表拥有的列,列的备注以及表的主键,实现起来十分简单。 这里主要考虑的就是,如何能有一个好的扩展,在更换数据库的时候可以方便的切换而不用修改源代码。 我们先来定义一个接口,这个接口只有一个方法,就是查询表的列信息: /** * 数据库
1年前发布 4792阅读 评论
前面已经解析完了配置文件,有了一切我们想要的信息,接下来就是代码生成了。 假设我们直接去编写代码生成类,有10张表的代码需要生成,那这个类就要负责所有的工作:数据库连接的打开、关闭,表信息的查询,再是代码的生成等等,这样实现起来是不是会很麻烦?我完成了实体类m
1年前发布 5022阅读 评论
在实际的项目开发中,有很大一部分的时间都在做一些重复的工作,比如与数据库表对应的实体类的编写,普遍使用的dao、service的基本增删改查操作等等,因此,编写一个代码自动生成工具可以大大的提高工作效率,虽然一些框架和开发工具都附带有代码生成的功能,但是比较单一,一
1年前发布 8083阅读 评论
MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑。 MyBatis中用于实现动态SQL的元素主要有: if choose(when,otherwise) trim where set foreach if就是简单的条件判断,利用if语句我们可以实现某些简单的条件选择。先来看如下一个例子
1年前发布 5116阅读 评论
注意:本组件已重构并全新发布,更加方便易于使用。代码全部开源,详情访问 Github仓库 或 码云 本次更新对JdbcDao的一些内部实现进行了重构,最大的改变是在调用NameHandler的getTableName方法时会传入所有拥有值的属性,以方便实现表的水平拆分。 数据水平拆分的分表,很难
1年前发布 3797阅读 评论
注意:本组件已重构并全新发布,更加方便易于使用。代码全部开源,详情访问 Github仓库 或 码云 本次更新到 2015-10-9 V1.0.2版本 ![spring-jdbc2][] 该版本增加了括号的支持,可以实现不同的属性在括号内or的情况,示例: Criteria criteria = Criteria.create(User.class)
1年前发布 3831阅读 评论
Memcached现在已被广泛使用,使得它的客户端实现也有较多的版本,基本上各个语言的都有。 我是搞Java的,所以这里就主要讲讲Java的客户端。 Java的客户端目前用的比较广泛比较多的,主要有四个吧,下面分别来讲讲这四个Java客户端。 Memcached的官方客户端,Memcached client
1年前发布 9512阅读 评论
Memcached是一个集中式的单点缓存系统,本身并不具备集群功能,这方面的操作主要是由客户端来完成的。 所以说到Memcached的分布式就一定会提到Memcached的客户端,看下图: 简单的说Memcached的客户端在这里就是做了一个路由的功能,负责把不同的请求转发到对应的Memcached机
1年前发布 7668阅读 评论
到这里memcached的初步使用我们已经没问题了,但是了解一些它内部的机制还是十分必要的,这直接涉及到你能否把memcached给真正“用好”。 Memcached的守护进程机制使用的是Unix下的daemon,Socket则使用了非阻塞(non-blocked)高性能的NIO,事件处理上大家都已经知道了,是基于
1年前发布 20335阅读 评论
前面我们已经安装完了Cygwin,也在cygwing中安装了apt-cyg来管理我们的软件包。 但是在实际使用过程中,只有在我刚安装完apt-cyg后用它来安装软件包是可以的,之后就一直无法安装了,出现MD5 sum did not match, exiting的错误。 奇怪的是我卸载掉之前安装成功的,再重新安装
1年前发布 13677阅读 评论
对于习惯使用linux命令但是因为某些原因又必须留在windows下的人来说,cygwin是一个很不错的折中工具,它可以支持完成一些在linux下的常用操作。 如果还不知道Cygwin的,可以自行百度一下。 首先当然是安装Cygwin,在安装时至少需要把wget组件勾上,因为我们需要用它来下载apt
1年前发布 21760阅读 评论
前面我们简单的介绍了一下Memcached,这里我们再来详细说说Memcached的一些命令。 Memcached的命令总的来说分为三类:存储数据命令、读取数据命令和统计分析命令。 存储数据命令,主要有:set,add,replace,append,prepend,cas;前面已经演示了set的用法,典型的格式如下
1年前发布 6466阅读 评论
Memcached是一个高性能的分布式内存对象缓存系统,是基于存储键/值对的hashmap,由C编写,但客户端可以通过memcached协议使用任何语言来编写。 在我个人看来Memcached是一个纯粹的缓存系统,所有的数据都保存在内存中,没有持久化功能。当内存被释放如重启、操作系统重启时全
1年前发布 5464阅读 评论
此文其实是java操作Oracle类型XMLType总结二:使用Mybatis附带的一篇小结。 Mybatis实现自定义的转换器,十分的简单,其主要步骤分为三步,这里以操作XMLType类型为例。 第一步 新建一个转换类,实现TypeHandler接口,接口的泛型指定参数类型,不指定则为Object: public clas
1年前发布 24456阅读 评论