1. 程式人生 > >Java 之jdbc連接mysql數據庫

Java 之jdbc連接mysql數據庫

load 數據 string sql pre port NPU word url

package jdbc;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public class JdbcUtils 
{    
    private static String url;
    private static String user;
    private static
String password; static { try { //FileInputStream in = new FileInputStream(new File("./src/db.properties")); InputStream in = JdbcUtils.class.getResourceAsStream("/db.properties"); Properties properties = new Properties(); properties.load(in); Class.forName(properties.getProperty(
"driver")); url = properties.getProperty("url"); user = properties.getProperty("user"); password = properties.getProperty("password"); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); } } /**
* 獲取連接 * @return */ public static Connection getConnection() { try { return DriverManager.getConnection(url, user, password); } catch (SQLException e) { e.printStackTrace(); throw new RuntimeException(e); } } /** * 關閉連接 */ public static void close(Statement stateMent, Connection connection) { if (stateMent != null) { try { stateMent.close(); } catch (SQLException e) { e.printStackTrace(); throw new RuntimeException(e); } } if (connection != null) { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); throw new RuntimeException(e); } } } }
package jdbc.statement;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

import jdbc.JdbcUtils;

import org.junit.Test;

public class StateMentTest {

    @Test
    public void testInsert() {
        Connection conn = null;
        Statement stmt = null;
        try {
            conn = JdbcUtils.getConnection();
            stmt = conn.createStatement();
            String sql = "insert into test (name) values (‘test‘)";
            int count = stmt.executeUpdate(sql);
            System.out.println(count);
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        } finally {
            JdbcUtils.close(stmt, conn);
        }
    }
    @Test
    public void testUpdate() {
        Connection conn = null;
        Statement stmt = null;
        try {
            conn = JdbcUtils.getConnection();
            stmt = conn.createStatement();
            String sql = "update test set name = ‘update‘ where id=4";
            int count = stmt.executeUpdate(sql);
            System.out.println(count);
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        } finally {
            JdbcUtils.close(stmt, conn);
        }
    }
    @Test
    public void testDelete() {

        Connection conn = null;
        Statement stmt = null;
        try {
            conn = JdbcUtils.getConnection();
            stmt = conn.createStatement();
            String sql = "delete from test where id=4";
            int count = stmt.executeUpdate(sql);
            System.out.println(count);
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        } finally {
            JdbcUtils.close(stmt, conn);
        }
    }
    
    @Test
    public void testSelect() {
        Connection conn = null;
        Statement stmt = null;
        try {
            conn = JdbcUtils.getConnection();
            stmt = conn.createStatement();
            String sql = "select * from test";
            ResultSet resultSet = stmt.executeQuery(sql);
            while(resultSet.next()) {
                System.out.println(resultSet.getString("name"));
            }
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        } finally {
            JdbcUtils.close(stmt, conn);
        }
    }
}
package jdbc.prepared;

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

import jdbc.JdbcUtils;

import org.junit.Test;

public class PreparedStateMent {
    
    @Test
    public void testInsert()
    {
        Connection conn = JdbcUtils.getConnection();
        String sql = "insert into test (name) values (?)";
        PreparedStatement pstmt = null;
        try {
            pstmt = conn.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS);
            pstmt.setString(1, "prepared");
            int count = pstmt.executeUpdate();
            ResultSet resultSet = pstmt.getGeneratedKeys();
            if (resultSet.next()) {
                System.out.println(resultSet.getString(1));
            }
            System.out.println(count);
        } catch (SQLException e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        } finally{
            JdbcUtils.close(pstmt, conn);
        }
    }
    
    @Test
    public void testUpdate()
    {
        Connection conn = JdbcUtils.getConnection();
        String sql = "update test set name = ? where id = ?";
        PreparedStatement pstmt = null;
        try {
            pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, "prepareds");
            pstmt.setInt(2, 6);
            int count = pstmt.executeUpdate();
            System.out.println(count);
        } catch (SQLException e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        } finally{
            JdbcUtils.close(pstmt, conn);
        }
    }
    @Test
    public void testDelete()
    {
        Connection conn = JdbcUtils.getConnection();
        String sql = "delete from test where id = ?";
        PreparedStatement pstmt = null;
        try {
            pstmt = conn.prepareStatement(sql);
            pstmt.setInt(1, 6);
            int count = pstmt.executeUpdate();
            System.out.println(count);
        } catch (SQLException e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        } finally{
            JdbcUtils.close(pstmt, conn);
        }
    }
    @Test
    public void testSelect()
    {
        Connection conn = JdbcUtils.getConnection();
        String sql = "select * from test";
        PreparedStatement pstmt = null;
        try {
            pstmt = conn.prepareStatement(sql);
            ResultSet set = pstmt.executeQuery();
            while(set.next()) {
                System.out.println(set.getString("name"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        } finally{
            JdbcUtils.close(pstmt, conn);
        }
    }
}

Java 之jdbc連接mysql數據庫