基于 Spring-JDBC 的 ORM 简单封装 zd-web-utils

GPL
Java
跨平台
2017-07-25
我是一只鱼_

六一趣味技术问答,“秃头”要从娃娃抓起!>>>

一直以来关于持久层框架选择的讨论都比较多,网上查了下比较,大致得出的结果:hibernate太繁,springjdbc太简, mybatis 刚好,可见如今选用mybatis的势头也越来越明显。毕竟mybatis有DAO模版,强大的代码生成工具,这些都是在做开发的时候很容易提高效率的。

但我个人偏向喜欢用Jdbctemplate,Jdbctemplate运行期更高效、内嵌Spring框架中、支持基于AOP的声明式事务,并且方便扩展,但是相信使用过Jdbctemplate的朋友应该知道,需要写一大堆的Rowmapper,而且开发完成后,由于sql是手写的,很可能会出现低级错误,这些都是Jdbctemplate的弊端,稍微有心的朋友这里肯定会选择自己封装一次。

现在我分享一下自己实现的基于mysql Jdbctemplate 的上层封装,我已将自己的代码上传到了maven中央库,如果觉得不错,可以引用。

<dependency>
	<groupId>com.github.11dong</groupId>
	<artifactId>codes-common</artifactId>
	<version>1.0.1</version>
</dependency>

项目若使用此jar包无需做过多配置,项目数据源配置按正常的Jdbctemplate配置即可:

<bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
		init-method="init" destroy-method="close">
		<property name="driverClassName" value="${jdbc.driver}" />
		<property name="url" value="${jdbc.url}" />
		<property name="username" value="${jdbc.username}" />
		<property name="password" value="${jdbc.password}" />

		<!-- 初始化连接大小 -->
		<property name="initialSize" value="20" />
		<!-- 连接池最大使用连接数量 -->
		<property name="maxActive" value="100" />
		<!-- 连接池最小空闲 -->
		<property name="minIdle" value="20" />
		<!-- 获取连接最大等待时间 -->
		<property name="maxWait" value="60000" />
		<property name="poolPreparedStatements" value="true" />
		<property name="maxPoolPreparedStatementPerConnectionSize"
			value="33" />
		<!-- 用来检测有效sql <property name="validationQuery" value="${validationQuery}" 
			/> <property name="testOnBorrow" value="false" /> <property name="testOnReturn" 
			value="false" /> <property name="testWhileIdle" value="true" /> -->
		<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
		<property name="timeBetweenEvictionRunsMillis" value="60000" />
		<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
		<property name="minEvictableIdleTimeMillis" value="25200000" />
		<!-- 打开removeAbandoned功能 -->
		<property name="removeAbandoned" value="true" />
		<!-- 1800秒,也就是30分钟 -->
		<property name="removeAbandonedTimeout" value="1800" />
		<!-- 关闭abanded连接时输出错误日志 -->
		<property name="logAbandoned" value="true" />
		<!-- 监控数据库 -->
		<property name="filters" value="mergeStat" />
	</bean>
	<!-- 数据源 -->
	<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
		<property name="dataSource" ref="dataSource" />
	</bean>
	
</beans>

详细介绍:https://my.oschina.net/donger11/blog/994435

的码云指数为
超过 的项目
加载中

评论(4)

我是一只鱼_ 软件作者
https://github.com/11dong/zd/tree/master/src/main/java/com/zd/jdbcutil 这是源码,都有注释,比较容易看懂的
旧人序x
开源中国凭借基于java的高效能敏捷Web开发技术在JavaOne2013大会上成为中国地区三名新“Duke选择奖”得主之一!高速翻 墙V P N,免费领取-官网:t.cn/RKiZmbK
上帝门口的排队
上帝门口的排队
看着不错。。封装的内容文档在哪
fqm是zd爸爸的朋
fqm是zd爸爸的朋
不错,很实用! !! 时间上会有所节约。推荐程序猿们玩一玩

暂无资讯

暂无问答

【AMAD】django-model-utils -- Django model使用的mixin和utils

动机 简介 个人评分 动机 为django model系统提供一些可重用的mixin和utils. 简介 django-model-utils1为Django Model提供了下嘛几种分类的utils: Field相关 StatusField: 一个CharField的子...

2019/05/27 00:56
27
0
智慧灯杆项目--tornado--进入nginx

C:\Users\Administrator\Desktop\denggan\zdTCPServer>ssh zd@27.128.181.220 zd@27.128.181.220's password: Last login: Mon Nov 18 17:18:08 2019 from 121.28.103.77 zd@zd-pc:~$ cd /et...

2019/11/20 15:15
13
0
Objective-C中NSString对象的retainCount

NSString对象的retainCount为-1 Objective-C中NSString对象与其他类型的对象在引用计数上存在着不小的差别。对于NSString的对象,不同的创建方式以及不同的字符个数都会影响对象的引用计数。...

2018/06/27 11:24
0
0
Regexp-Utils:基本

ylbtech-Regexp-Utils:基本 1.返回顶部 1、 /** * 管理 */ var utils = { hostUrl: "http://localhost:8023", isNull: function (s) { if (!s) return true...

2018/04/04 17:43
18
0
mtd-utils交叉编译安装

一、获取源码并解压 存储于/home/zhangyi/work/psoc_ltp/tools-ltp-ddt中,解压后的源码存于上一层目录。 1.mtd-utils-2.0.0 wget ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-2.0.0.t...

2019/04/17 11:50
27
0
Spring框架 - Web框架 工程模板

# 工程模板 介绍实际项目,组织代码与资源 按照如下规范组织项目 # 项目组织规范 ## Maven文件 在xx项目下,xx/pom.xml ## Web.xml配置 在xx项目`src/main/webapp/WEB-INF/web.xml` 在Eclip...

2016/10/30 00:04
129
0
针对Vsftpd虚拟用户:db4.6-utils更换为db5.3-utils

当前db4.6-util版本已经不好使,安装总提示失败,可直接换使用5.3版本: $sudo apt-get install db5.3-utils db5.3-utils主要用于针对Vsftpd虚拟用户的存储 sudo db4.6_load -T -t hash -f ...

2016/11/13 10:47
672
0
openwrt 常用软件安装

opkg update opkg install http://openwrt.8800.org:82/lucichinese.ipk #luci web管理汉化(安装后 需重打开ie 进luci管理) opkg install http://openwrt.8800.org:82/nwan.ipk #叠加软件 (单...

2016/01/13 16:20
1.6W
1
UIAlertView的基本使用

#import "ViewController.h" //遵守代理 @interface ViewController ()<UIAlertViewDelegate> @end @implementationViewController - (void)viewDidLoad { [super viewDidLoad]; /** 初始化U...

2016/01/26 19:49
51
1
不小心搞坏了pm-utils,修复中

不小心搞坏了pm-utils,找不到解决办法只好自己琢磨了-.- /usr/lib/pm-utils/ 这里http://packages.ubuntu.com/可找到ubuntu的官方软件包(http://packages.ubuntu.com/natty/pm-utils),或...

2012/08/31 18:40
336
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部