zd-web-utils基于 Spring-JDBC 的 ORM 简单封装
一直以来关于持久层框架选择的讨论都比较多,网上查了下比较,大致得出的结果: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>
评论
FastSQL基于 spring-jdbc 的 ORM 框架
FastSQL一个基于spring-jdbc 的简单 ORM 框架,它支持 sql 构建、sql 执
FastSQL基于 spring-jdbc 的 ORM 框架
0
FastSQL基于 spring-jdbc 的 ORM 框架
FastSQL一个基于spring-jdbc的简单ORM框架,它支持sql构建、sql执行、命名参数绑定、查询结果自动映射和通用DAO。结合了Hibernate/JPA快速开发和Mybatis高效执行
FastSQL基于 spring-jdbc 的 ORM 框架
0
TURBO基于 SpringJdbc 封装的 ORM 框架
TURBO 是一个基于SpingJDBC封装的ORM框架。整个ORM目前已经适配数据库包括:Oracle、Mysql、SQLserver、Postgresql,可扩展支持及其数据库。
TURBO基于 SpringJdbc 封装的 ORM 框架
0
simple-orm基于 Spring-JDBC 的简易 ORM 框架(支持多数据源)
基于 Spring-JDBC 和 javax.persistence 注解的简易 ORM 的封装。支
simple-orm基于 Spring-JDBC 的简易 ORM 框架(支持多数据源)
0
simple-orm基于 Spring-JDBC 的简易 ORM 框架(支持多数据源)
基于Spring-JDBC和javax.persistence注解的简易ORM的封装。支持多数据源,通过简单的常规的Spring的配置就可以轻松实现,对代码无侵入。//定义数据映射实体类@Table(
simple-orm基于 Spring-JDBC 的简易 ORM 框架(支持多数据源)
0
xr-httpXHR 的简单封装
xr是XMLHttpRequest的超简单封装,并返回ES6Promise。示例代码:xr.get('/api/items', {take: 5}) .then(res => console.
xr-httpXHR 的简单封装
0
axios的简单封装
html中简单封装axios/** * @author [Moisten] itcode.icu * @version 1.0.0 * @overview 封装axios请求 * * 调用方法: * var datas = values; * axiosPostRequst(`register`, datas).then(res => { console.log...
MoMaek
0