• [Java] JDBC 02 写得比较完美 TestJDBC/TestDML.java(这很关键,看完整性),还引申以后必备 log4j 很 nice


    import java.sql.*;
    
    public class TestJDBC {
    
        public static void main(String[] args) {
            ResultSet rs = null;
            Statement stmt = null;
            Connection conn = null;
            try {
                Class.forName("com.mysql.jdbc.Driver");
    
                conn = DriverManager
                        .getConnection("jdbc:mysql://localhost/mydata?user=root&password=root");
                stmt = conn.createStatement();
                rs = stmt.executeQuery("select * from dept");
                while (rs.next()) {
                    System.out.println(rs.getString("deptno"));
                    System.out.println(rs.getInt("deptno"));
                }
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace(); // log4j 啊!你赶紧过来吧,阿里需要你!。
            } finally {
                try {
                    if (rs != null) {
                        rs.close();
                        rs = null; // 置为空吧,垃圾回收器会回收的。
                    }
                    if (stmt != null) {
                        stmt.close();
                        stmt = null;
                    }
                    if (conn != null) {
                        conn.close();
                        conn = null;
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    
    向数据库中插入一条语句
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class TestDML {
    
        public static void main(String[] args) {
            Statement stmt = null;
            Connection conn = null;
            try {
                Class.forName("com.mysql.jdbc.Driver");
    
                conn = DriverManager
                        .getConnection("jdbc:mysql://localhost/mydata?user=root&password=root");
                stmt = conn.createStatement();
                String sql = "insert into dept2 values (98, 'GAME', 'BJ')";
                stmt.executeUpdate(sql);
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (stmt != null) {
                        stmt.close();
                        stmt = null;
                    }
                    if (conn != null) {
                        conn.close();
                        conn = null;
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
    }
    

    DML(Data Manipulation Language)数据操纵语言命令使用户能够查询数据库以及操作已有数据库中的数据。基本的数据操作分成两类四种:检索(查询)和更新(插入、删除、修改)。DML分成交互型DML和嵌入型DML两类。依据语言的级别,DML又可分成过程性DML和非过程性DML两种。如insert,delete,update,select(插入、删除、修改、检索)等都是DML.

    命令行传入参数,执行 DML

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class TestDML2 {
    
        public static void main(String[] args) {
            if(args.length != 3) {
                System.out.println("Parameter Error! Please Input Again!");
                System.exit(-1);
            }
            
            int deptno = 0;
            
            try {
                deptno = Integer.parseInt(args[0]);
            } catch (NumberFormatException e) {
                System.out.println("Parameter Error! Deptno should be Number Format!");
                System.exit(-1);
            }
            
            String dname = args[1];
            String loc = args[2];
            
            Statement stmt = null;
            Connection conn = null;
            try {
                Class.forName("com.mysql.jdbc.Driver");
    
                conn = DriverManager
                        .getConnection("jdbc:mysql://localhost/mydata?user=root&password=root");
                stmt = conn.createStatement();
                String sql = "insert into dept2 values (" + deptno + ",'" + dname + "','" + loc + "')";
    System.out.println(sql);
                stmt.executeUpdate(sql);
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                try {
                    if(stmt != null) {
                        stmt.close();
                        stmt = null;
                    }
                    if(conn != null) {
                        conn.close();
                        conn = null;
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
    }
    

  • 相关阅读:
    stl rope
    vijos1574 摇钱树
    图论 Dijkstra+堆优化
    c++输入优化
    Vijos1579 宿命的PSS 最小生成树
    快速求n阶多项式乘积
    c++stl map
    C#函数式程序设计之惰性列表工具——迭代器
    C#函数式程序设计之泛型(下)
    C#函数式程序设计之泛型(上)
  • 原文地址:https://www.cnblogs.com/robbychan/p/3786874.html
Copyright © 2020-2023  润新知