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

2016-08-15  本文已影响32人  繁花流水congcong

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---独家制作
版权所有,盗版必究!

上一篇下一篇

猜你喜欢

热点阅读