spring boot + druid + 封装JdbcTemplate
本源码内容如下:
- spring boot项目
- 用的druid连接池
- druid监控页面配置
- 数据操作用spring jdbctemplate
- 进一步封装spring jdbctemplate支持用对象进行增删改查
- 封装jdbctemplate的是单独一个项目,可以打包到任务项目中使用
详细介绍请查看 http://cxytiandi.com/blog/detail/3881
封装部分代码
public <T> T getByParams(Class<T> entityClass, String[] params, Object... values) {
String[] fieldNames = BeanUtils.getFieldNames(entityClass, "");
return doGetByParams(entityClass, fieldNames, params, values);
}
public <T> T getByParams(Class<T> entityClass, String[] fieldNames, String[] params, Object... values) {
return doGetByParams(entityClass, fieldNames, params, values);
}
private <T> T doGetByParams(Class<T> entityClass, String[] fieldNames, String[] params, Object... values) {
StringBuilder sql = getParamSql(entityClass, fieldNames, params, values);
return get(entityClass, sql.toString(), values);
}
public <T> List<T> findByParams(Class<T> entityClass, String[] params, Object... values) {
String[] fieldNames = BeanUtils.getFieldNames(entityClass, "");
return doFindByParams(entityClass, fieldNames, params, values);
}
使用部分代码
@Transactional
public void save() {
Users u = new Users();
u.setMobile("13112021223");
//id自增不需要插入所以排除
cxytiandiJdbcTemplate.save(Users.class, u, "id");
}
@Transactional
public void updateUser(Users user) {
//根据ID修改用户信息,只修改mobile字段
cxytiandiJdbcTemplate.updateByContainsFields(Users.class, user, "id", "mobile");
}
@Transactional
public void deleteUser() {
cxytiandiJdbcTemplate.deleteByParams(Users.class, new String[]{"id", "mobile"}, 2, "13858521245");
}
public List<Users> findByParams() {
return cxytiandiJdbcTemplate.findByParams(Users.class, new String[]{"mobile"}, "13985854512");
}
public long count() {
return cxytiandiJdbcTemplate.count(Users.class);
}
public long count(String mobile) {
return cxytiandiJdbcTemplate.count(Users.class, "mobile", mobile);
}
public List<Users> queryAllUsers() {
return cxytiandiJdbcTemplate.list(Users.class);
}
public List<Users> getUsersByPage(int page, int limit) {
PageQueryParam param = new PageQueryParam(page, limit);
return cxytiandiJdbcTemplate.listForPage(Users.class, param.getStart(), param.getLimit());
}
spring boot + druid + 封装JdbcTemplate的更多相关文章
- spring boot + druid + mybatis + atomikos 多数据源配置 并支持分布式事务
文章目录 一.综述 1.1 项目说明 1.2 项目结构 二.配置多数据源并支持分布式事务 2.1 导入基本依赖 2.2 在yml中配置多数据源信息 2.3 进行多数据源的配置 三.整合结果测试 3.1 ...
- Spring Boot + Druid 多数据源绑定
date: 2019-12-19 14:40:00 updated: 2019-12-19 15:10:00 Spring Boot + Druid 多数据源绑定 版本环境:Spring Boot 2 ...
- spring boot中使用JdbcTemplate
本文将介绍如何将spring boot 与 JdbcTemplate一起工作.Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到Jd ...
- Spring Boot:整合JdbcTemplate
综合概述 Spring对数据库的操作在jdbc上面做了更深层次的封装,而JdbcTemplate便是Spring提供的一个操作数据库的便捷工具.我们可以借助JdbcTemplate来执行所有数据库操作 ...
- 21. Spring Boot Druid 数据源配置解析
1.数据源配置属性类源码 package org.springframework.boot.autoconfigure.jdbc; @ConfigurationProperties( prefix = ...
- Spring Boot中使用JdbcTemplate访问数据库
本文介绍在Spring Boot基础下配置数据源和通过JdbcTemplate编写数据访问的示例. 数据源配置 在我们访问数据库的时候,需要先配置一个数据源,下面分别介绍一下几种不同的数据库配置方式. ...
- spring boot druid mybatis多数据源
一.关闭数据源自动配置(很关键) @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class }) 如果不关闭会报异常:o ...
- Spring Boot Druid数据源配置
package com.hgvip.config; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.su ...
- Spring Boot + Druid 监控数据库(三)
Druid可以做什么? 1) 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助. 2) 替换DBC ...
随机推荐
- activemq Linux下的编译
1.首先下载源码 ,网址:http://www.apache.org/dyn/closer.lua/activemq/activemq-cpp/3.9.4/activemq-cpp-library-3 ...
- [转载] 说说JSON和JSONP,也许你会豁然开朗
转载自http://kb.cnblogs.com/page/139725/ 前言 由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现. 当然了 ...
- Ubuntu Server无线上网
在自己电脑上装个Ubuntu Server,需要连接无线上网,参照附录的两个连接完成. 重置的自己路由器,只是为了找ssid和密码 配置步骤: 1. 生成无线上网密码配置文件 root@Ubuntu: ...
- Pyqt5学习系列
最近在学习Pyqt5做界面,找到了一个非常棒的博主的学习系列 在此记录下来: http://blog.csdn.net/zhulove86/article/category/6381941
- 谷歌浏览器 插件安装配置Momentum chrome
总之一句话就是这个Momentum插件可以把你的谷歌弄的漂亮一些,来搞一波 下载地址 http://www.cnplugins.com/down/predownnew.aspx?id=33842 下载 ...
- e2e测试之Nightmare
一.e2e测试简介 e2e或者端到端(end-to-end)或者UI测试是一种测试方法,它用来测试一个应用从头到尾的流程是否和设计时候所想的一样.简而言之,它从一个用户的角度出发,认为整个系统都是一个 ...
- Java数据结构和算法(三)——冒泡、选择、插入排序算法
上一篇博客我们实现的数组结构是无序的,也就是纯粹按照插入顺序进行排列,那么如何进行元素排序,本篇博客我们介绍几种简单的排序算法. 1.冒泡排序 这个名词的由来很好理解,一般河水中的冒泡,水底刚冒出来的 ...
- 0:A+B Problem-poj
0:A+B Problem 总时间限制: 1000ms 内存限制: 65536kB 描述 Calculate a + b 输入 Two integer a,,b (0 ≤ a,b ≤ 10) 输出 ...
- 永中DCS再添喜讯:顺利签约海信集团
近日,永中DCS与海信集团一起携手,共创文档在线预览新篇章.出于对永中DCS文档在线预览产品的品质与服务的信赖,海信集团选择永中DCS为其提供文档在线预览技术支持,助力移动化办公(EHR系统)发展,提 ...
- shell自动化巡检
#!/bin/bash#主机信息每日巡检 IPADDR=$(ifconfig eth0|grep 'inet addr'|awk -F '[ :]' '{print $13}')#环境变量PATH没设 ...