自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 基于前序遍历的无递归的树形结构的数据库表设计

本文介绍的方法基于多叉树的前序遍历序列,是所有数据库树结构存储方案中查询子树速度最快的方案。最早发表在这里"http://drinkjava2.iteye.com/blog/2353983",但那篇文章太啰嗦了,这是整理后的精简版,其实原理很简单,几句话就能说完。目前常见的树形结构数据库存储方案有以下四种,但是都存在一定问题:1)Adjacency List(邻接表):每个节点仅记录父...

2018-04-15 13:20:29 726

原创 历时一年开发,Java持久层工具jSqlBox第一个正式版本发布

历时一年开发,Java持久层工具jSqlBox终于推出第一个正式版本1.0.0版。详见项目地址:https://gitee.com/drinkjava2/jSqlBox, 以下为项目内容简介:jSqlBox是一个Java持久层工具,设计目标是用来代替目前的Hibernate/MyBatis/JdbcTemplate/DbUtils等持久层工具。jSqlBox的主要特点: 模块...

2017-12-05 02:20:42 373

原创 总结一下Java中SQL的九种写法

因为在做持久层工具开发,现总结一下各种SQL的写法,也算是清晰一下自已的思路:第一种写法public void someMethod(){try Connection conn=...; conn.setAutoCommit(false); PreparedStatement pst=...; ResultSet rs= executeSomeSq...

2017-08-09 17:56:27 2597

原创 一种利用注释让Java支持多行字符串的方法

(2018.1.21注:本文已过时,又找到一种好一点的利用注释支持多行字符串的方法,见[url]https://my.oschina.net/drinkjava2/blog/1611028[/url] )从BeetlSql项目将SQL全放在Beetl模板里得到启发,又想到一个比较偏门的用法。以下代码实测通过,详见jSqlBox项目的test\examples\multipleLineSQL...

2017-05-04 22:09:21 1256

原创 jDialects:一个从Hibernate抽取的支持70多种数据库方言的原生SQL分页工具

jDialects([url]https://git.oschina.net/drinkjava2/jdialects[/url])是一个收集了大多数数据库方言的Java小项目,通常可用来创建分页SQL和建表DDL语句,可根据不同的数据库方言生成不同的SQL。目前jDialects支持75种数据库方言,包括Hibernate中没有的SQLLite和Access等。jDialects需要 Java7...

2017-04-25 16:04:06 323

原创 发明一种新的树形结构数据库存储方案

最近在开发jSqlBox过程中,想研究一下树形结构的和VO对象树的转换,突然发现一种新的树结构数据库存储方案,主要特点是用很多的数据库列来存储一个占位符(1或空值)。在网上搜索了一下,没有找到雷同的(也可能是我花的时间不够)方案,现介绍如下:目前常见的树形结构数据库存储方案有以下四种,但是都存在一定问题:1)Adjacency List::记录父节点。优点是简单,缺点是访问子树需要遍历,发出许多条SQL,对数据库压力大。2)Path Enumerations:用一个字符串记录整个路径。优点是查询方便,

2017-01-19 05:14:56 8663 3

原创 发明了一种新的树结构数据库存储方案

最近在开发jSqlBox过程中,想研究一下树形结构和VO对象树的转换,突然发现一种新的树结构数据库存储方案,在网上搜索了一下,没有找到雷同的(也可能是我花的时间不够)方案,现介绍如下: 目前常见的树形结构数据库存储方案有以下四种,但是都存在一定问题:1)Adjacency List::记录父节点。优点是简单,缺点是访问子树需要遍历,发出许多条SQL,对数据库压力大。2)Path Enu...

2017-01-19 02:01:49 846 1

顺便说一下一个老帖子关于domain object的讨论

顺便说一下一个老帖子:http://www.blogjava.net/GandofYan/archive/2006/05/30/48954.html关于domain object的讨论,其中的领域逻辑用E-R建模来表示是这样的:[img]http://dl2.iteye.com/upload/attachment/0122/6088/a708dcbb-63e9-3218-ac86-14aaca...

2017-01-15 03:50:44 176

利用JDK自带的Logger防止Log冲突

下面这个类默认使用JDK自带的logger,如系统存在org.apache.commons.logging则动态加载并用反射来调用,如进一步,系统中还存在Log4j及其配置,则自动使用Log4j代替commons logging, 这样程序包发布时根本无须将commons logging或log4j放在POM中。[code="java"]package com.github.drinkja...

2016-11-28 18:05:39 513

原创 利用ThreadLocal完美解决JDBC动态拼接SQL的多条件查询

再摘一段JDBC多条件查询的单元测试实例(源码可在jSQLBox项目下找到),大家知道在条件不确定的情况下,执行动态拼接生成的SQL,即要保证SQL安全性,防止SQL注入,又要保证编码的简洁性,这一直是一个头痛的问题。 jSQLBox利用ThreadLocal解决了这个问题:Java代码 收藏代码 public class ConditionQueryTest { ...

2016-11-23 14:35:34 506

原创 发现一种超简单的将SQL包装成PrepraredStatement的方法

冒个泡,jSQLBox项目已启动,欢迎有兴趣的加入:https://github.com/drinkjava2/jSQLBoxjSQLBox项目要完成的基本功能有: CRUD方法、 JDBC包装、一级缓存、脏检查、纯JAVA方式配置,配置可动态生成修改。在jSQLBox编写过程中,刚完成对JDBC的包装,突然发现一种超简单的将SQL包装成PrepraredStatement的方法,利用...

2016-10-08 07:07:44 316

原创 一个机械工程师也谈谈对数据和领域建模的理解

前言:最近jBeanBox项目收尾,感觉用Java初始化块来代替Spring的XML配置这种模式挺好的,手中有了这把锤子,于是看什么都象钉子,这不,又看上了Hibernate,  SSH三兄弟,紧跟在Spring后面,也是用XML或Annotation配置,配置也是固定的,不能在运行期动态生成和修改,好了,钉子就是它了。新项目名字都想好了,就叫jSQLBox,用来代替Hibernate。对了,顺便

2016-09-25 09:36:51 2069

原创 一个机械工程师也谈谈对数据和领域建模的理解

前言:最近jBeanBox项目收尾,感觉用Java初始化块来代替Spring的XML配置这种模式挺好的,手中有了这把锤子,于是看什么都象钉子,这不,又看上了Hibernate, SSH三兄弟,紧跟在Spring后面,也是用XML或Annotation配置,配置也是固定的,不能在运行期动态生成和修改,好了,钉子就是它了。新项目名字都想好了,就叫jSQLBox,用来代替Hibernate。对了,顺便...

2016-09-22 10:55:02 339

原创 用jBeanBox替换Spring内核实现无XML配置的声明式事务服务

Spring的问题主要是太复杂、配置方式太多,XML配置不支持运行期修改,不支持IDE类名重构、方法提示。jBeanBox是一个单文件源码只有650行的IOC/AOP微型项目,特点是用JAVA代替XML, 简单易懂。目前版本更新到2.0版,添加了AOP联盟和AspectJ接口支持以与其它AOP工具兼容。 声明式事务是AOP的典型运用场合,基本原理是利用线程局部变量来管理连接,本来想写一个简化版的,

2016-06-20 22:56:39 644

原创 用jBeanBox替换Spring内核实现声明式事务

Spring的问题主要是太复杂、配置方式太多,XML配置不支持运行期修改,不支持IDE类名重构、方法提示。jBeanBox是一个单文件源码只有650行的IOC/AOP微型项目,特点是用JAVA代替XML, 简单易懂。目前版本更新到2.0版,添加了AOP联盟和AspectJ接口支持以与其它AOP工具兼容。 声明式事务是AOP的典型运用场合,基本原理是利用线程局部变量来管理连接,本想自已写一个简化版的...

2016-06-20 12:58:45 143

原创 关于生命和人工智能的一些遐想

这是十几年前的一些想法,现在看来有些已过时,有些成了预言。很不习惯带着脚镣跳舞,时间长了会形成条件反射怎么办。1.人还会进化吗?2.什么是生命?3.什么是我?4.共主义不可能实现?5.人长生不死的唯一途径?6.人造不出比自已更聪明的机器?7.作为创造者,人是不会让聪明的机器夺得统治权的?8.A之后是B9.人=物质+人脑神经网络构成方式10. 生命进化...

2016-04-03 20:09:06 381

原创 关于人工智能的一些幻想

理论太枯燥了,以下是我平时的一些科幻构思,全是与人工生命有关的,因本人文笔太差,只能给出个草草的框架 (注:前三个构思曾发表在96年第二期的科幻世界上)。 ☆绑架当生命可能以信息方式传递,队长带人在地底打算拦截敌方将领的中微子波,以实现绑架其之目的,但接收器坏了,最后队长决定用自已的大脑来接收这个信息,于是,当信号被拦截后,队长就变成了敌人的将领......(自评:这算是生命复制的...

2016-04-03 19:57:45 453

原创 人类还会进化吗?-谈机器智能发展前景

这是二十年前寄给科学院的一篇旧文,大家可以对比看看,关于人工智能,二十年前的人和现在的人是怎么想的。原稿扫描存在造人论坛上。人类还会进化吗?-谈机器智能发展前景近年来,随着机算机技术的迅速发展,神经网络、系统论、控制论、非线性理论以及认知科学不断取得突破性进展,使得人们对生命现象的研究进入了一个前所未有的阶段。但是,对于“生命的本质是什么”、“生命的发展有没有最终目标?”、“人类作...

2016-04-03 19:52:44 310

原创 意识的本质和一个人工脑模型

主要是关于人工智能的一些想法,有些其它内容见我的个人主页www.zhangrex.com(国内上不了),所以写一些文字重新在这里发一遍。很久没关心人工智能,本站重开也是因有感于最近人工智能的进展,摩尔定律发威,使得奇点已不再是个遥远的梦。下一个竞赛焦点即将是第一个人脑(或第一个高度智能的动物脑)的实现。我在02年提出来的"人工脑模型"(与深度学习的分层有点类似,但是整体性更强一些,思维的本质是...

2016-04-03 19:40:58 453

原创 单文件实现IOC/AOP功能,jBeanBox项目第一版发布

jBeanBox第一版终于完成了,已更新到项目目录https://sourceforge.net/projects/jbeanbox/ 下,有兴趣的可以看一看。这个项目的主要特点:1)简单,只用一个Java文件实现了IOC/AOP功能,源码不到350行,由此可见实现IOC/AOP实际上很简单。2) 用Java类代替XML作为配置文件,Java作为配置文件的主要优点是IDE支持类名检查、...

2016-03-01 19:19:35 200

Eclipse导入Gradle下载的spring源码过程笔记

最近在研究Spring想看一下3.xx旧版本的源码,发现要用到Gradle,导入过程有些波折,现记下来关键步聚:Sping版本DOC、源码下载,这个站下下来的不能导入eclipse,因没有第三方库http://repo.spring.io/libs-release/org/springframework/spring/从以下github网址下载所要的版本:https://g...

2016-02-14 03:20:38 297

原创 征求IOC/AOP微形开源项目jBeanBox合作者

这是一个微形开源项目,目标是使用尽可能少的Java类实现全功能的IOC和AOP功能,有兴趣参加的朋友可以跟贴,贡献者将列入作者名单,谢谢!项目的目的是取消XML配置文件而用纯Java类代替,Spring本身越来越臃肿,替我们自做主张集成了自以为最好的一条龙服务,这本身没什么,可以自取所需。 但是它最大问题是采用XML静态配置,导致需要动态修改配置功能时灵活性不够,注解的引入没有根本性变化。 j...

2016-02-09 04:13:42 158

原创 JSP页面布局工具jWebBox升级到到2.0版

这是一个JSP页面布局工具,作用和 Tiles, Sitemesh 类似(还有最近的轻量级JSP Layout和Stripes布局工具等),用于JSP页面的布局,最早版本是在08年写的,有不少问题,现在升级到2.0.0版,源码全部重构了一遍。其特点是只有一个纯Java类,无须XML配置(实际上是用布局Java类代替XML),用一个三百行的Java类实现了Tiles的全部功能,功能与Tiles类似,...

2016-02-08 07:09:19 237

原创 JSP页面布局工具JWebBox升级到2.0版

这是一个JSP页面布局工具,作用和 Tiles, Sitemesh 类似(还有最近的轻量级JSP Layout和Stripes布局工具),用于JSP页面的布局,最早版本是在08年写的,有不少问题,现在升级到2.0.0版,源码全部重构了一遍。其特点是只有一个纯Java类,无须XML配置(实际上是用Java类代替XML),用一个三百行的纯Java文件实现了Tiles的全部功能。在灵活性、面象对象设计、

2016-02-05 12:42:51 1681

空空如也

空空如也

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

TA关注的人

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