美文网首页
聪聪工作室---JDBC---8/15 ALL Connecti

聪聪工作室---JDBC---8/15 ALL Connecti

作者: 繁花流水congcong | 来源:发表于2016-08-15 20:17 被阅读32次

    Hibernate---

    学了一个月的Java数据库操作,至今为止最完美的作品

    image01.png image02.png image03.png image04.png image05.png image06.png image07.png image08.png image09.png image10.png image11.png image12.png image.png

    JDBC---

    8/15 ALL Connection

    操作代码:

    package jdbcconnect;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Types;
    import java.util.Arrays;
    import java.util.Properties;
    import java.util.Scanner;
    
    import com.mysql.jdbc.CallableStatement;
    import com.mysql.jdbc.PreparedStatement;
    import com.mysql.jdbc.Statement;
    
    public class firstall {
    
        public static void main(String[] args) {
    
            loadDriverClass();
    
            Connection conn = null;
            Statement stat = null;
            ResultSet rs = null;
    
            login(conn, stat, rs);
            select(conn, stat, rs);
            insertBatch(conn);
    
        }
    
        private static void insertBatch(Connection conn) {
            System.out.println("批量插入10条数据");
            PreparedStatement ps = null;
            try {
                conn = getConnection();
                ps = (PreparedStatement) conn
                        .prepareStatement("insert into qingke.player(id,name,score,username,passward) values(?,?,?,?,?)");
                for (int i = 1; i <= 10; i++) {
                    ps.setInt(1, i);
                    ps.setString(2, "Qingke" + i);
                    ps.setInt(3, i);
                    ps.setString(4, "qingke" + i);
                    ps.setString(5, "123");
    
                    ps.addBatch();
    
                }
                ps.executeBatch();
                System.out.println("执行完毕!");
                // int[] results=ps.executeBatch();
                // System.out.println("results="+Arrays.toString(results));
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (conn != null) {
                        conn.close();
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
    
        }
    
        private static void loadDriverClass() {
    
            try {
    
                String driver = getProperty("db.driver");
                Class.forName(driver);
    
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
    
        }
    
        public static Connection getConnection() {
    
            String url = getProperty("db.url");
            String u = getProperty("db.username");
            String p = getProperty("db.passward");
    
            try {
                return DriverManager.getConnection(url, u, p);
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return null;
    
        }
    
        public static String getProperty(String key) {
            Properties props = new Properties();
            try {
                props.load(new FileInputStream("jdbc.properfies"));
                return props.getProperty(key);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return key;
        }
    
        private static void cleanup(Connection conn, Statement stat, ResultSet rs) {
    
            try {
                if (rs != null) {
                    rs.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                if (stat != null) {
                    stat.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
    
        }
    
        private static void login(Connection conn, Statement stat, ResultSet rs) {
            System.out.println("=========登陆==============");
            Scanner sc = new Scanner(System.in);
            System.out.println("username: ");
            String username = sc.nextLine();
            System.out.println("passward: ");
            String passward = sc.nextLine();
    
            try {
    
                conn = getConnection();
                System.out.println("数据库连接成功!");
                stat = (Statement) conn.createStatement();
                String sql = "select * from player where username='" + username + "' and passward='" + passward + "'";
                rs = stat.executeQuery(sql);
    
                while (rs.next()) {
                    int id = rs.getInt("id");
                    String name = rs.getString("name");
                    int score = rs.getInt("score");
    
                    System.out.println("登陆成功!您的用户信息为: id=" + id + ",name=" + name + ",score=" + score);
    
                }
    
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                cleanup(conn, stat, rs);
                sc.close();
    
            }
    
        }
    
        private static void select(Connection conn, Statement stat, ResultSet rs) {
            System.out.println("===========根据相关字母查找==========");
            Scanner sc1 = new Scanner(System.in);
            System.out.println("请输入相关字母: ");
            String pattern = sc1.nextLine();
            CallableStatement cs = null;
    
            try {
                conn = getConnection();
                System.out.println("数据库连接成功! ");
                cs = (CallableStatement) conn.prepareCall("call qingke.get_player(?,?)");
                cs.setString(1, pattern);
    
                cs.registerOutParameter(2, Types.INTEGER);
    
                boolean b = cs.execute();
                System.out.println("是否执行成功;" + b);
    
                int resultCount = cs.getInt(2);
                System.out.println("查找到的信息条数: " + resultCount);
                rs = cs.getResultSet();
    
                while (rs.next()) {
                    int id = rs.getInt("id");
                    String name = rs.getString("name");
                    int score = rs.getInt("score");
    
                    System.out.println("用户信息为: id=" + id + ",name=" + name + ",score=" + score);
    
                }
    
            } catch (SQLException e) {
                e.printStackTrace();
    
            } finally {
                cleanup(conn, stat, rs);
                sc1.close();
            }
    
        }
    
    }
    
    
    

    作者: 聪聪工作室
    业务合作: 18758171751
    微信: 18758171751
    Email: 1099749430@qq.com

    聪聪工作室---Java---独家制作
    版权所有,盗版必究!

    相关文章

      网友评论

          本文标题:聪聪工作室---JDBC---8/15 ALL Connecti

          本文链接:https://www.haomeiwen.com/subject/ionusttx.html