zoukankan      html  css  js  c++  java
  • JDBC--连接数据库并写入数据

    1. 数据库连接

    2. 使用Statement类进行数据库操作

    package com.machuang.jdbc;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class Demo12 {
    
        public static void main(String[] args) {
            
            Connection conn = null;
            Statement st = null;
            try {
                Class.forName("com.mysql.jdbc.Driver");
                
                // 建立连接
                conn = DriverManager.getConnection(
                                                    "jdbc:mysql://localhost:3306/testjdbc", "root", "333666");
                st = conn.createStatement();
                
                String sql = "insert into t_usr (usrName, pwd, regTime) value ('cappucciono', 464645, now())";
                st.execute(sql);
                
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                try {
                    if(null != st) {
                        st.close();
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                try {
                    if(null != conn) {
                        conn.close();
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            
            
    
        }
    
    }

    3. 使用PreparedStatement类进行数据库操作

    package com.machuang.jdbc;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    
    public class Demo11 {
    
        public static void main(String[] args) {
            
            Connection conn = null;
            PreparedStatement ps = null;
            try {
                Class.forName("com.mysql.jdbc.Driver");
                
                // 建立连接
                conn = DriverManager.getConnection(
                                                    "jdbc:mysql://localhost:3306/testjdbc", "root", "333666");
                
                String sql = "insert into t_usr (usrName, pwd, regTime) value (?, ?, ?)";    // ?为占位符
                ps = conn.prepareStatement(sql);
                
                // method 1
                ps.setString(1, "Cappuccino01");        // index 从1开始
                ps.setString(2, "464165");
                ps.setDate(3, new java.sql.Date(System.currentTimeMillis()));
                
                ps.execute();
                
    //            // method 2 (不用考虑参数类型)
    //            ps.setObject(1, "Cappuccino02");        // index 从1开始
    //            ps.setObject(2, "464165");
    //            ps.setObject(3, new java.sql.Date(System.currentTimeMillis()));
    //            
    //            ps.execute();
                
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                try {
                    if(null != ps) {
                        ps.close();
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                try {
                    if(null != conn) {
                        conn.close();
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            
            
    
        }
    
    }

    4. 测试ResuleSet 结果集

    package com.machuang.jdbc;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    public class Demo13 {
    
        public static void main(String[] args) {
            
            Connection conn = null;
            PreparedStatement ps = null;
            ResultSet rs = null;
            try {
                Class.forName("com.mysql.jdbc.Driver");
                
                // 建立连接
                conn = DriverManager.getConnection(
                                                    "jdbc:mysql://localhost:3306/testjdbc", "root", "333666");
                
                String sql = "select id, usrName, pwd from t_usr where id > ?";
                ps = conn.prepareStatement(sql);
                
                ps.setInt(1, 2);    // 查询数据库中第个元素
                
                rs = ps.executeQuery();    // 执行查询命令
                
                while(rs.next()) {
                    System.out.println(rs.getInt(1) + "----"  + rs.getString(2) + "----" +rs.getString(3));
                }
                
                
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                
                // 按照后打开的先关闭的原则依次关闭 Result-->PreparedStatement-->Connection
                // attention: 3个 trycatch块分开写
                try {
                    if(null != rs) {
                        rs.close();
                    }
                } catch (SQLException e1) {
                    e1.printStackTrace();
                }
                try {
                    if(null != ps) {
                        ps.close();
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                try {
                    if(null != conn) {
                        conn.close();
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            
            
    
        }
    
    }
  • 相关阅读:
    [WinAPI] API 13 [遍历指定目录 打印文件和其他属性]
    2014-3-12 星期三 小雨 [及时完成不堆积]
    2014-3-11 星期二 晴 [卓有成效 master 摸索计划方案]
    [ACM_几何] UVA 11300 Spreading the Wealth [分金币 左右给 最终相等 方程组 中位数]
    [ACM_水题] UVA 11729 Commando War [不可同时交代任务 可同时执行 最短完成全部时间 贪心]
    [ACM_水题] UVA 11292 Dragon of Loowater [勇士斗恶龙 双数组排序 贪心]
    [WinAPI] API 12 [获取程序所在的目录、程序模块路径,获取和设置当前目录]
    [WinAPI] API 11 [创建目录]
    [WinAPI] API 10 [创建、打开、读写文件,获取文件大小]
    java解析json数组
  • 原文地址:https://www.cnblogs.com/cappuccinom/p/8876304.html
Copyright © 2011-2022 走看看