本源码内容如下:

  • 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的更多相关文章

  1. spring boot + druid + mybatis + atomikos 多数据源配置 并支持分布式事务

    文章目录 一.综述 1.1 项目说明 1.2 项目结构 二.配置多数据源并支持分布式事务 2.1 导入基本依赖 2.2 在yml中配置多数据源信息 2.3 进行多数据源的配置 三.整合结果测试 3.1 ...

  2. Spring Boot + Druid 多数据源绑定

    date: 2019-12-19 14:40:00 updated: 2019-12-19 15:10:00 Spring Boot + Druid 多数据源绑定 版本环境:Spring Boot 2 ...

  3. spring boot中使用JdbcTemplate

    本文将介绍如何将spring boot 与 JdbcTemplate一起工作.Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到Jd ...

  4. Spring Boot:整合JdbcTemplate

    综合概述 Spring对数据库的操作在jdbc上面做了更深层次的封装,而JdbcTemplate便是Spring提供的一个操作数据库的便捷工具.我们可以借助JdbcTemplate来执行所有数据库操作 ...

  5. 21. Spring Boot Druid 数据源配置解析

    1.数据源配置属性类源码 package org.springframework.boot.autoconfigure.jdbc; @ConfigurationProperties( prefix = ...

  6. Spring Boot中使用JdbcTemplate访问数据库

    本文介绍在Spring Boot基础下配置数据源和通过JdbcTemplate编写数据访问的示例. 数据源配置 在我们访问数据库的时候,需要先配置一个数据源,下面分别介绍一下几种不同的数据库配置方式. ...

  7. spring boot druid mybatis多数据源

    一.关闭数据源自动配置(很关键) @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class }) 如果不关闭会报异常:o ...

  8. Spring Boot Druid数据源配置

    package com.hgvip.config; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.su ...

  9. Spring Boot + Druid 监控数据库(三)

    Druid可以做什么?  1) 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助. 2) 替换DBC ...

随机推荐

  1. C# 使用正则表达式去掉字符串中的数字

    /// <summary>/// 去掉字符串中的数字/// </summary>/// <param name="key"></param ...

  2. 设计模式的征途—10.装饰(Decorator)模式

    虽然目前房价依旧很高,就连我所在的成都郊区(非中心城区)的房价均价都早已破万,但却还是阻挡不了大家对新房的渴望和买房的热情.如果大家买的是清水房,那么无疑还有一项艰巨的任务在等着大家,那就是装修.对新 ...

  3. android shape 大全 (转)

    1. 各属性的配置语法 在项目 res/drawable 文件夹中创建一个以 shape 为根节点的 XML 文件,基本语法如下: <?xml version="1.0" e ...

  4. 《java.util.concurrent 包源码阅读》25 Fork/Join框架之Fork与Work-Stealing(重写23,24)

    在写前面两篇文章23和24的时候自己有很多细节搞得不是很明白,这篇文章把Fork和Work-Stealing相关的源代码重新梳理一下. 首先来看一些线程池定义的成员变量: 关于scanGuard: v ...

  5. PHP启动:动态库加载失败(PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/*.so')

    今天在linux上面智障一般搞了好久,本来想安装个swoole的,然后用  php -m 的命令想看下安装的PHP扩展库,发现有的扩展库有的可以出来,有的加载失败, 加载失败的错误类型: PHP Wa ...

  6. Could not resolve view with name '***' in servlet with name 'dispatcher'

    今天在开发中遇到了一个问题,控制层使用的是SpringMVC框架. @RequestMapping("historyDetail") private String History( ...

  7. 转:聚类、K-Means、例子、细节

    今天说聚类,但是必须要先理解聚类和分类的区别,很多业务人员在日常分析时候不是很严谨,混为一谈,其实二者有本质的区别. 分类其实是从特定的数据中挖掘模式,作出判断的过程.比如Gmail邮箱里有垃圾邮件分 ...

  8. NTP时间同步 服务端 客户端 自动化安装配置

    NTP时间同步 服务端 客户端 自动化安装配置 原创内容 http://www.cnblogs.com/elvi/p/7657994.html #!/bin/sh #运行环境 centos6.cent ...

  9. MongoDb安装--yum安装

    本帖最后由 草包 于 2017-5-2 09:57 编辑 [Shell] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 ...

  10. 用echartsjs 实现动态绘制折线、柱状等图形,并实现多图联动效果

    echarts对于大数据处理后绘制折线图,柱形图等等的效果和速度都很好.下面我们介绍 怎么把封装的数据列表解析出来,动态绘图,并且实现鼠标联动效果引入js文件: <script type=&qu ...