本源码内容如下:

  • 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. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  2. Ext3和Ext4文件系统区别

    inode http://www.cnblogs.com/itech/archive/2012/05/15/2502284.html Ex3使用15个inode查询数据块,前12个为直接数据块,直接指 ...

  3. python线程池实现多线程

    参考文献 http://www.open-open.com/news/view/1c0179b http://blog.jobbole.com/52060/ 按照这个博客,实现获取多台服务器的空间使用 ...

  4. vue2.0 带头冲锋(先穿鞋)

    事先说明:这次截图纯手工敲打,可不容易了.刚学会站直,不穿鞋,不得直接摔个狗食屎.(皮糙肉厚也顶不住啊). 废话不多了 !开始学基础.学过anguler1.0 ,会比较容易学vue. 溶解使用的是 v ...

  5. iOS获取所有机型

    1.手机系统版本:9.1 NSString* phoneVersion = [[UIDevice currentDevice] systemVersion]; 2.手机类型:iPhone 6 NSSt ...

  6. 基于SwiperJs的H5/移动端下拉刷新上拉加载更多的效果

    最早时,公司的H5项目中曾用过点击一个"加载更多"的DOM元素来实现分页的功能,后来又用过网上有人写的一个上拉加载更多的插件,那个插件是页面将要滚动到底部时就自动请求数据并插入到页 ...

  7. 容易被忽视的后端服务 chunked 性能问题

    容易被忽视的后端服务 chunked 性能问题 标签(空格分隔): springboot springmvc chunked 背景 spring boot 创建的默认 spring mvc 项目 集成 ...

  8. 操作系统学习笔记----进程/线程模型----Coursera课程笔记

    操作系统学习笔记----进程/线程模型----Coursera课程笔记 进程/线程模型 0. 概述 0.1 进程模型 多道程序设计 进程的概念.进程控制块 进程状态及转换.进程队列 进程控制----进 ...

  9. 2018届研究生招生预推免(THU,HIT)经历分享——guochengtao

    注:本文为作者原创文章,且为无偿分享,读者可以阅读,但请尊重劳动成果,勿作为商业用途!如对文章中的内容有意见或者出现了您不喜欢的言论,请您保留,谢谢合作! 又到一年12月,这代表着2017年已经接近尾 ...

  10. HTML 使用jQuery选中复选框 简易版

    <html><head>   <meta charset="utf-8">   <script src="jquery-1.7. ...