public class DbUtils {
private static String host = "47.93.******";
private static String port = "3306";
private static String username = "*****";
private static String password = "******";
private static String database = "******"; static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) { }
} private static Connection getConn() {
Connection conn = null;
try { String url = "jdbc:mysql://" + host + ":" + port + "/" + database;
conn = DriverManager.getConnection(url, username, password);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
} public static List<Map<String, Object>> execQuery(String sql, Object[] args) throws Exception {
Connection conn = getConn();
PreparedStatement ps = conn.prepareCall(sql);
ResultSet rs = null; int count = StringUtils.countMatches(sql, "?"); //变量赋值。。。。。。
for (int i = 0; i < count; i++) {
ps.setObject(i, args[i]);
} List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); rs = ps.executeQuery(); ResultSetMetaData metaData = rs.getMetaData();
      //注意。。metaData.getColumnName 获取字段名,rs.getObject 获取属性 是从 1 开始的,而不是从0 开始
while (rs.next()) {
int rowSize = metaData.getColumnCount();
Map<String, Object> map = new HashMap<>();
for (int i = 1; i <= rowSize; i++) {
String labelName = metaData.getColumnName(i);
Object obj = rs.getObject(labelName);
map.put(labelName, obj);
}
list.add(map);
} close(conn, ps, rs);
return list;
} /**
* @param conn
* @param ps
* @param rs
* @throws Exception
*/
private static void close(Connection conn, PreparedStatement ps, ResultSet rs) throws Exception {
rs.close();
ps.close();
conn.close();
}

java 简单封装resultMap返回对象为map的更多相关文章

  1. DBUtils封装数据库返回对象的各种方法

    ①ArrayHandler:     将查询结果的第一行数据,保存到Object数组中       ②ArrayListHandler     将查询的结果,每一行先封装到Object数组中,然后将数 ...

  2. Extjs读取更改或者发送ajax返回请求的结果简单封装

    Extjs的submit()方法提交的数据:如下: this.formPanel.getForm().submit({                url:this.saveUrl,         ...

  3. Spring jdbc 对象Mapper的简单封装

    一般查询实体的时候,都需要这么使用/**      * 根据id查询      *       * @return      */     public Emp queryEmpById(Intege ...

  4. 第二十六节:复习Java语言基础-Java的概述,匿名对象,封装,构造函数

    Java基础 Java语言概述 Java语言 语言 描述 javaee 企业版 javase 标准版 javame 小型版 JDK JDK(Java开发工具包) Java语言 语言 Java语言 Ja ...

  5. JAVA中将对象转为Map类型

    之前讲过将Map转为JAVA对象的文章,那么问题来了,如果要把JAVA对象转为Map,又该怎么操作呢?这里亲测了2个方法可行,但目前这2个方法都是基于简单JAVA Bean的情况(即Bean中不能嵌套 ...

  6. Bean-Query 一个把对象转换为Map的Java工具库

    刚开源了一个经过完整測试的Java工具类. 地址例如以下: https://github.com/Jimmy-Shi/bean-query 使用说明例如以下: Bean-query Click Her ...

  7. JAVA中利用反射机制进行对象和Map相互转换的方法

    JAVA的反射机制主要作用是用来访问对象的属性.方法等等.所以,JAVA中对象和Map相互转换可以利用JAVA的反射机制来实现.例子如下: 一.对象转Map的方法 public static Map& ...

  8. java对象转map

    /** * java对象转map * @param obj * @return * @throws IllegalAccessException * @throws IllegalArgumentEx ...

  9. java 对象转Map方法Demo

    /** * 用于对Object进行解析并且转换成Map键值对的形式 * */ public class ObjectUtils { private static final String JAVAP ...

随机推荐

  1. 浅谈Android四大组建之一Service---Service的创建

    Service是安卓四大组件之一,个人觉得Service的使用还是比较简单的额,可以理解为看不见的Activity,因为Service的使用和Activity十分接近.启动啊,生命周期等,都十分简单. ...

  2. 【知识碎片】Net项目经验积累

    后台传JSON到js报错 MVC控制器传json到前端JS"变为" 导致JS报错 重点是一定要在@ViewBag.typeJson两边加双引号,并且后台用 编码前台解码 ViewB ...

  3. css垂直居中方法(四)

    第六种方法,使用css的writing-mode属性,结合margin:auto. 参考文章:改变CSS世界纵横规则的writing-mode属性 传统的web流中,margin设置auto值的时候, ...

  4. saltstact的安装与配置

    Saltstack是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,人们一般习惯把saltstack比作成简化版的puppet和加强版的func.saltstack基于Pytho ...

  5. siciyuan开源项目观光指南

    观光方式: 1.从UI到后台,先针对每个界面UI观察结构 2.再观察如何初始化和注入数据 3.针对2所用的后台方法进行概览 4.对3中方法进行深入研究 5.选择一个模块进行重写 6.重复5,搭建大体框 ...

  6. php学习笔记-if else

    生活不会总是波澜不惊的,要是那样也没有什么意思.代码也一样,if else的出现为平静的生活带来一点变化. <?php $money = 1000; if($money>0) { //sl ...

  7. CentOS6.5 安装python

    前言: CENTOS 6.X 系列默认安装的 Python 2.6 ,目前开发中主要是使用 Python 2.7 ,这两个版本之间还是有不少差异的,程序在 Python 2.6 下经常会出问题. 比如 ...

  8. c语言中会遇到的面试题

    预处理器(Preprocessor) 1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)         #define SECONDS_PER_YEAR (60 ...

  9. c++线程调用python

    c++调用python,底层就似乎fork一个子进程启动一个python的解释器,执行python文件,由于python解释器维护了一个内部状态,所以如果c++程序是多线程,每个线程都调用python ...

  10. PreparedStatement预编译对象实现

    模糊查询   插入 同时插入两行数据   执行更新语句 删除操作