Java JDBC 连接数据库

来源:互联网 发布:arctime字幕软件官方 编辑:程序博客网 时间:2024/06/01 09:28

参考 http://www.cnblogs.com/taoweiji/archive/2012/12/11/2812852.html

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import java.util.Map;public class SqlTest2 {    public static void main(String[] args) throws SQLException, Exception{        List<Object[]> list = new ArrayList();        Connection conn = null;        /*         * 第一步: MySQL的JDBC URL编写方式: jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值         * 避免中文乱码要指定useUnicode和characterEncoding         * 执行数据库操作之前要在数据库管理系统上创建一个数据库,名字自己定,下面语句之前就要先创建flood_control_platform数据库         */        String url = "jdbc:mysql://localhost:3306/flood_control_platform?user=root&password=123456&useUnicode=true&characterEncoding=UTF8";        /* 第二步:动态加载mysql驱动 */        Class.forName("com.mysql.jdbc.Driver");        // 一个Connection代表一个数据库连接        conn = DriverManager.getConnection(url);        // Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等        Statement stmt = conn.createStatement();        // executeQuery会返回结果的集合,否则返回空值        String sql = "SELECT * from t_disaster_repair as drepair where 1=1 ";        ResultSet rs = stmt.executeQuery(sql);        ResultSetMetaData md = rs.getMetaData(); // 得到结果集(rs)的结构信息,比如字段数、字段名等        int columnCount = md.getColumnCount(); // 返回此 ResultSet 对象中的列数        //返回一个对象        while (rs.next()) {            Object[] object = new Object[columnCount];            for (int i = 1; i <= columnCount; i++) {                if (null != rs.getObject(i)) {                    object[i - 1] = rs.getObject(i);                }            }            list.add(object);            System.out.println("list:" + list.toString());        }        //隔行打印出来        while (rs.next()) {            for (int i = 1; i <= columnCount; i++) {                System.out.print(rs.getString(i) + "\t");            }            System.out.println();        }        conn.close();    }    //动态拼接sql查询语句    private String prepareSql(Map<String, Object> searchParams) {        StringBuffer buffer = new StringBuffer();        if (searchParams != null) {            String location = (String) searchParams.get("location"); // 位置            if (null!=location && !location.isEmpty()))                buffer.append(" and drepair.location like '%" + location + "%'");            String checkType = (String) searchParams.get("checkType"); // 检查类型            if (null!=checkType && !checkType .isEmpty()))                buffer.append(" and  drepair.checkType like '%" + checkType + "%'");            String beginTime = (String) searchParams.get("beginTime"); // 开始时间            if (null!=beginTime && !beginTime .isEmpty()))                buffer.append(" and drepair.add_time > '" + beginTime + "'");            String endTime = (String) searchParams.get("endTime"); // 结束时间            if (null!=endTime && !endTime .isEmpty()))                buffer.append(" and drepair.add_time < '" + endTime + "'");        }        return buffer.toString();    }}
原创粉丝点击