commons-dbutils工具栏的编写
db.properties
driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test_db?useUnicode=true&characterEncoding=UTF-8&jdbcCompliantTruncation=false
user=root
password=
commonsDbutils工具类
package com.variflight.b.gateway.utils; import com.variflight.b.gateway.entity.po.VisitorRateConfPO;
import org.apache.commons.dbutils.BasicRowProcessor;
import org.apache.commons.dbutils.GenerousBeanProcessor;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.BeanMapHandler; import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import java.util.Properties; /**
* @author muyang
* @date 2019/5/23 11:37
*/
public class CommonsDbutils { private static Connection conn; private static String driverClass; private static String url; private static String user; private static String password; static { try {
readDBConfig();
Class.forName(driverClass);
conn = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
} public static void readDBConfig(){
try {
InputStream in = CommonsDbutils.class.getClassLoader().getResourceAsStream("db.properties");
Properties pro = new Properties();
pro.load(in);
driverClass = pro.getProperty("driverClass");
url = pro.getProperty("url");
user = pro.getProperty("user");
password = pro.getProperty("password");
} catch (IOException e) {
e.printStackTrace();
}
} public static Connection getConnection(){
return conn;
} public static <T> T queryBean(Class<T> clazz, String sql){
T t = null;
QueryRunner queryRunner = new QueryRunner();
try {
t = queryRunner.query(conn, sql, new BeanHandler<>(clazz, new BasicRowProcessor(
new GenerousBeanProcessor()
)));
} catch (SQLException e) {
e.printStackTrace();
}
return t;
} public static <T> List<T> queryBeanList(Class<T> clazz, String sql){
List<T> t = null;
QueryRunner queryRunner = new QueryRunner();
try {
t = queryRunner.query(conn, sql, new BeanListHandler<>(clazz, new BasicRowProcessor(
new GenerousBeanProcessor()
)));
} catch (SQLException e) {
e.printStackTrace();
}
return t;
} public static <T> Map<String, T> queryMap(Class<T> clazz, String sql){
Map<String, T> t =null;
QueryRunner runner = new QueryRunner();
try {
t = runner.query(conn, sql, new BeanMapHandler<String, T>(clazz));
} catch (SQLException e) {
e.printStackTrace();
}
return t;
} }
测试
public static void main(String[] args){
//获取连接
String sql = "select * from visitor_rate_conf";
//List<VisitorRateConfPO> confPOList = queryBeanList(conn, sql);
//VisitorRateConfPO confPOList = CommonsDbutils.queryBean(VisitorRateConfPO.class, sql);
List<VisitorRateConfPO> confPOList = CommonsDbutils.queryBeanList(VisitorRateConfPO.class, sql);
//Map<String, VisitorRateConfPO> confPOList = CommonsDbutils.queryMap(VisitorRateConfPO.class,sql);
System.out.println(confPOList);
}
commons-dbutils工具栏的编写的更多相关文章
- 高性能jdbc封装工具 Apache Commons DbUtils 1.6(转载)
转载自原文地址:http://gao-xianglong.iteye.com/blog/2166444 前言 关于Apache的DbUtils中间件或许了解的人并不多,大部分开发人员在生成环境中更多的 ...
- 写一个ORM框架的第一步(Apache Commons DbUtils)
新一次的内部提升开始了,如果您想写一个框架从Apache Commons DbUtils开始学习是一种不错的选择,我们先学习应用这个小“框架”再把源代码理解,然后写一个属于自己的ORM框架不是梦. 一 ...
- 《笔者带你剖析Apache Commons DbUtils 1.6》(转)
前言 关于Apache的DbUtils中间件或许了解的人并不多,大部分开发人员在生成环境中更 多的是依靠Hibernate.Ibatis.Spring JDBC.JPA等大厂提供的持久层技术解决方案, ...
- Apache Commons DbUtils 快速上手
原文出处:http://lavasoft.blog.51cto.com/62575/222771 Hibernate太复杂,iBatis不好用,JDBC代码太垃圾,DBUtils在简单与优美之间取得了 ...
- java JDBC (七) org.apache.commons.dbutils 查询
package cn.sasa.demo1; import java.sql.Connection; import java.sql.SQLException; import java.util.Li ...
- java JDBC (六) org.apache.commons.dbutils 增删改
dbutils是apache封装了JDBC的工具类,比mysql-connector更方便些 下载地址:http://commons.apache.org/proper/commons-dbutils ...
- Java连接数据库 #04# Apache Commons DbUtils
索引 通过一个简单的调用看整体结构 Examples 修改JAVA连接数据库#03#中的代码 DbUtils并非是什么ORM框架,只是对原始的JDBC进行了一些封装,以便我们少写一些重复代码.就“用” ...
- commons.dbutils 的使用列子
c0p3的导入请参考前文 https://www.cnblogs.com/appium/p/10183016.html JdbcUtils: package cn.itcast.jdbc; impor ...
- java.lang.ClassNotFoundException: org.apache.commons.dbutils.QueryRunner
七月 28, 2017 11:06:33 下午 org.apache.catalina.core.StandardWrapperValve invoke严重: Servlet.service() fo ...
随机推荐
- phaser,开启三个线程分别搜索三个文件夹
Phaser表示“阶段器”,用来解决控制多个线程分阶段共同完成任务的情景问题 启动三个线程,分别对三个文件夹搜索,文件要以txt结尾,修改时间要在一天之内,并将文件路径打印在控制台 /** * 开启三 ...
- Kafka排队:Apache Kafka作为消息传递系统
1.目标 在这个Apache Kafka教程中,我们将学习Apache Kafka Queuing 的概念 .基本上,Kafka中的排队是传统消息传递的模型之一.所以,让我们首先简要介绍Kafka ...
- 数组,const,#define
#include<stdio.h> #define COUNT 6 int main(){// const类型的常量不能作为数组的个数,大部分编译器不支持// const int C ...
- php策略模式实现简单计算器
html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- Ali-Tomcat 安装
通过在 Eclipse 安装 Tomcat4e 插件,或者在 Intellij Idea 安装配置 Ali-tomcat,可以快 速方便地启动并调试基于 EDAS 服务化框架 HSF 开发的应用. 1 ...
- Pycharm专业版配置远程服务器并自动同步代码
一.使用场景 如果每次都在本机上面写代码,然后传到服务器上面,在服务器上面运行就太麻烦了.这样的方式十分繁琐,效率很低. 因此,希望可以像下面一样操作: 可以直接在本机上码代码 自动将代码同步到远程服 ...
- python多线程爬取世纪佳缘女生资料并简单数据分析
一. 目标 作为一只万年单身狗,一直很好奇女生找对象的时候都在想啥呢,这事也不好意思直接问身边的女生,不然别人还以为你要跟她表白啥的,况且工科出身的自己本来接触的女生就少,即使是挨个问遍,样本量也 ...
- python线程(转)
转自:https://www.cnblogs.com/huxi/archive/2010/06/26/1765808.html
- CCF 2016-09-2 火车购票
CCF 2016-09-2 火车购票 题目 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排5个座位.为方便起见,我们用1到100来给所有的 ...
- docker 入坑2
上一节我们安装好了docker,那么这节我们讲一下docker基本命令使用 查看版本 $ sudo docker --version 返回:Docker version 18.09.0, build ...