zoukankan      html  css  js  c++  java
  • jdbc不写bean类还能返回查询的结果

    ResultSetMetaData metaData = rs.getMetaData();

    jdbc中有一步是返回结果集,在结果集中有个getMetaData()的方法就可以得到数据库中的所有值,例如字段名、行数、列数等等可以用debug看看

    以下是jdbc的增删改   和   查的封装类,不用写bean类就可直接使用

    package com.hp.factory;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    public class AllFactory {
        final static String url = "jdbc:mysql://localhost:3306/project01?unicode=true&characterEncoding=UTF-8";
        final static String user = "root";
        final static String password = "root";
        final static String driver = "com.mysql.jdbc.Driver";
        public static Connection getConn()throws Exception {
            Class.forName(driver);
            return DriverManager.getConnection(url, user, password);
        }
        public static List<Map<String, Object>> executeQuery(String sql)throws Exception {
            List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();
            Connection conn = getConn();
            PreparedStatement ps = conn.prepareStatement(sql);
            ResultSet rs = ps.executeQuery();
            while (rs.next()) {
                ResultSetMetaData metaData = rs.getMetaData();
                Map<String, Object> map = new HashMap<String, Object>();
                for(int i=1;i<=metaData.getColumnCount();i++) {
                    map.put(metaData.getColumnLabel(i), rs.getObject(i));
                }
                list.add(map);
            }
            rs.close();
            ps.close();
            conn.close();
            return list;
        }
        public static int excuteUpdate(String sql) throws Exception {
            Connection conn = getConn();
            PreparedStatement ps = conn.prepareStatement(sql);
            int i = ps.executeUpdate();
            ps.close();
            conn.close();
            return i;
        }

    }

  • 相关阅读:
    skynet源代码学习
    白话经典算法系列之七 堆与堆排序
    数据结构与算法二
    [hadoop系列]Pig的安装和简单演示样例
    感动前行——给医学媳妇写的演讲稿(非IT类)
    怎样提高团队管理能力3
    Linux守护进程的编程实现
    人脸识别 开放书籍 下载地址
    Objective-C中经常使用的结构体NSRange,NSPoint,NSSize(CGSize),NSRect
    动态规划整理(两)
  • 原文地址:https://www.cnblogs.com/lihui123/p/13842863.html
Copyright © 2011-2022 走看看