博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JdbcUtils
阅读量:4921 次
发布时间:2019-06-11

本文共 3894 字,大约阅读时间需要 12 分钟。

import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Properties;public class JdbcUtils {    private static volatile JdbcUtils jdbcUtils = null;    private static Connection conn = null;    private static ResultSet rs = null;    private static PreparedStatement ps = null;    static String url = null;    static String user = null;    static String password = null;    static {        Properties p = new Properties();        try {            p.load(JdbcUtils.class.getClassLoader().getResourceAsStream(                    "com/mysql/properties/mysql.properties"));            url = p.getProperty("url");            user = p.getProperty("user");            password = p.getProperty("password");        } catch (IOException e) {            e.printStackTrace();        }    }    private JdbcUtils() {        getConn();    }    private void getConn() {        try {            Class.forName("com.mysql.jdbc.Driver");            conn = DriverManager.getConnection(url, user, password);        } catch (ClassNotFoundException e) {            e.printStackTrace();        } catch (SQLException e) {            e.printStackTrace();        }    }        public static JdbcUtils newInstance() {        if (jdbcUtils == null) {            synchronized (JdbcUtils.class) {                if (jdbcUtils == null) {                    jdbcUtils = new JdbcUtils();                }            }        }        return jdbcUtils;    }    public int insert(String sql, Object... obj) {        int result = 0;        try {            ps = conn.prepareStatement(sql);            int index = 1;            for (Object o : obj) {                ps.setObject(index++, o);            }            result = ps.executeUpdate();        } catch (SQLException e) {            e.printStackTrace();            return -1;        } finally {            close();        }        return result;    }    public int Delete(String sql, Object... obj) {        int result = 0;        try {            ps = conn.prepareStatement(sql);            int index = 1;            for (Object o : obj) {                ps.setObject(index++, o);            }            result = ps.executeUpdate();        } catch (SQLException e) {            e.printStackTrace();            return -1;        } finally {            close();        }        return result;    }    public int update(String sql, Object... obj) {        int result = 0;        try {            ps = conn.prepareStatement(sql);            int index = 1;            for (Object o : obj) {                ps.setObject(index++, o);            }            result = ps.executeUpdate();        } catch (SQLException e) {            e.printStackTrace();            return -1;        } finally {            close();        }        return result;    }    public List
> select(String sql, Object... obj) { List
> list = new ArrayList
>(); try { ps = conn.prepareStatement(sql); int index = 1; for (Object o : obj) { ps.setObject(index++, o); } rs = ps.executeQuery(); ResultSetMetaData rsd = rs.getMetaData(); int length = rsd.getColumnCount(); // System.out.println(length); while (rs.next()) { Map
m = new HashMap
(); for (int i = 1; i <= length; i++) { m.put(rsd.getColumnName(i), rs.getObject(i)); } // System.out.println(m.size()); list.add(m); } } catch (SQLException e) { e.printStackTrace(); } finally { } return list; } private void close() { try { if (rs != null) { rs.close(); } if (ps != null) { ps.close(); } } catch (SQLException e) { e.printStackTrace(); } }}
JdbcUtils

 

转载于:https://www.cnblogs.com/zouchengli/p/7077898.html

你可能感兴趣的文章
如何在CRichEditCtrl控件中直接读如RTF格式的文件
查看>>
win32 DirectUI控件开发与调用指南
查看>>
Linux系统通过AWS命令行上传文件至S3
查看>>
FlashFXP 上传文件错误
查看>>
Delphi 的内存操作函数(2): 给数组指针分配内存
查看>>
三款SDR平台对比:HackRF,bladeRF和USRP
查看>>
通过js获得html标签的值
查看>>
Sqoop 1.4.7安装与配置
查看>>
浅谈数据库资源使用的按需分配方法
查看>>
linux运维面试题1
查看>>
fabric网关模式文件上传与执行
查看>>
转:一千行 MySQL 学习笔记
查看>>
hadoop控制map个数(转)
查看>>
SVProgressHUD 用法
查看>>
【BZOJ】【1046】/【POJ】【3613】【USACO 2007 Nov】Cow Relays 奶牛接力跑
查看>>
Django表单
查看>>
ini 文件操作记要(2): 使用 TMemIniFile
查看>>
(第3篇)HDFS是什么?HDFS适合做什么?我们应该怎样操作HDFS系统?
查看>>
隐藏 DataGrid 中 DataSource 为 DataTable 的 DataColumn (Visual C#)
查看>>
【译 】Solr in Action 第一章
查看>>