JDBC初探

package com.lz.conn;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class Test02 {
    /*
     * 连接mysql数据库,获取连接,执行sql语句
     * Statement 执行sql语句
     * 有严重的sql注入危险
     */
    public static void main(String[] args) {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc_db","root","1234");
            /*
             * 有sql注入危险
            Statement sta = conn.createStatement();
            String sql = "INSERT INTO tbl_user (name,password,email) VALUES ('lz','3344','[email protected]')";
            sta.execute(sql);
            */
            //PreparedStatement 是用占位符
            String sql = "INSERT INTO tbl_user (name,password,email) VALUES (?,?,?)";
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1, "dayu");
            ps.setString(2, "13214");
            ps.setString(3, "[email protected]");
            ps.execute();
            /*
                ps.executeQuery(); 返回一个结果集
                
                ps.executeUpdate(); 返回更新数量
                
            */
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
package com.lz.conn;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Test03 {
    /*
     * 获取mysql查找集
     */
    public static void main(String[] args) {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection conn = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/jdbc_db", "root", "1234");
            String sql = "SELECT * FROM tbl_user";
            PreparedStatement stat = conn.prepareStatement(sql);
            ResultSet set = stat.executeQuery();
            while (set.next()) {
                System.out.println(set.getInt(1) + " " + set.getString(2) + " "
                        + set.getString(3) + " " + set.getString(4));
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
package com.lz.conn;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class Test01 {
    /*
     * 连接mysql数据库,获取连接,执行sql语句 batch批量提交sql语句
     * 在这里使用Statement提高效率,PreparedStatement在大量数据时报错
     */
    public static void main(String[] args) {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection conn = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/jdbc_db", "root", "1234");
            long start = System.currentTimeMillis();
            // 取消自动提交
            conn.setAutoCommit(false);
            Statement stat = conn.createStatement();

            for (int i = 1; i <= 20000; i++) {
                stat.addBatch("INSERT INTO tbl_user (name,password,email) VALUES ('lz','123456','[email protected]')");
            }
            stat.executeBatch();
            
            //手动提交
            conn.commit();
            long end = System.currentTimeMillis();
            System.out.println((end - start) + "毫秒");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

 

你可能感兴趣的:(JDBC初探)