一直以来关于持久层框架选择的讨论都比较多,网上查了下比较,大致得出的结果: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>
HOW TO IMPLEMENT WEB SERVICES FOR INDY Editor: Tomáš Mandys, tomas.mandys@2p.cz (2p plus) 注:捷克网站找到的,非常不错,我已经写成了控件 呵呵 Document status: Version 1.0 First release How to implement Web Services for Indy -
关于%zd是强制转化为整形的格式输出符,对应的是size-t类型的(c99)中规定 注意编译器可能不支持%zd,它可能只支持%u或者%lu
编译好的工具下载https://1drv.ms/u/s!AvlbNd7del19pEU0G0kWlDLywkk-?e=0bKJaa 本工具就是为了免去找注册表的麻烦,而且主要我是不会什么bat,powershell也不想看,不想学,莫问! #include <Windows.h> #include <iostream> #include <cmath> int main() { using na
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; using System.Web; namespace Xima.FreamWork.Co
本文向大家介绍java的jdbc简单封装方法,包括了java的jdbc简单封装方法的使用技巧和注意事项,需要的朋友参考一下 学习了jdbc一段时间后感觉自己写一个简单的封装来试试,于是参考的一些资料就写了一下不是多好,毕竟刚学也不太久 首先写配置文件:直接在src下建立一个db.properties文件然后写上内容 之后再写一个类代码如下 之后写主类代码如下 下面是两张图是建立db.propert
本文向大家介绍基于JDBC封装的BaseDao(实例代码),包括了基于JDBC封装的BaseDao(实例代码)的使用技巧和注意事项,需要的朋友参考一下 最近闲暇时萌发写一写dao的封装的例子,就将以前写的整理一下。 以上这篇基于JDBC封装的BaseDao(实例代码)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
有人能回答我的困境,使用哪种方法将Android设备连接到mySQL或PostgreSQL? 我可以用这两种方式来做,没有任何错误和问题,没有明显的区别,但每个人都建议使用web服务而不是使用jdbc驱动程序和直接连接,
本文向大家介绍Python基于twisted实现简单的web服务器,包括了Python基于twisted实现简单的web服务器的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python基于twisted实现简单的web服务器,分享给大家供大家参考。具体方法如下: 1. 新建htm文件夹,在这个文件夹中放入显示的网页文件 2. 在htm文件夹的同级目录下,建立web.py,web.py的内
我正在研究Spring支持的数据访问技术,我注意到它提到了多个选项,但我不确定它们之间的区别: Spring-DAO(http://docs.spring.io/spring/docs/2.0.8/reference/dao.html) Spring-orm(http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/htm
本文向大家介绍简单介绍python封装的基本知识,包括了简单介绍python封装的基本知识的使用技巧和注意事项,需要的朋友参考一下 python封装简介 1.效果图: 对比一: 对比二: 2.学习来源代码: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。