Java數據庫連接(JDBC)
阿新 • • 發佈:2018-10-02
println any sim bold rgs ack neu spl into password = "a1b2c3";
String connectionUrl = "jdbc:mysql://127.0.0.1:3306/af_school?useUnicode=true&characterEncoding=UTF-8";
Connection conn = DriverManager.getConnection(connectionUrl,username,password);
System.out.println("連接成功");
conn.close();
System.out.println("關閉連接" );
}
username = "root";
String password = "a1b2c3";
String connectionUrl = "jdbc:mysql://127.0.0.1:3306/af_school?useUnicode=true&characterEncoding=UTF-8";
Connection conn = DriverManager.getConnection(connectionUrl,username,password);
System.out.println("連接成功");
//數據庫查詢 Statement語句,ResultSet結果集
Statement stmt = (Statement) conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM student");
//如果有數據,則rs.next()為true
while (rs.next())
{
int id = rs.getInt("id");
String name = rs.getString("name");
String phone = rs.getString("phone");
Date birthday = rs.getDate("birthday");
System.out.println(id + "\t" + name + "\t" + phone + "\t" + birthday);
}
conn.close();
System.out.println("關閉連接");
}
public static void main(String[] args)
{
try
{
testConnect();
} catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Java數據庫連接(JDBC)
JDBC:Java DataBase Connectivity
MySQL SQLyog 和 Java客戶端都可以和SQL進行交互
JDBC連接數據庫的步驟
1.添加數據庫驅動jar包支持 2.連接數據庫 -username -password -connectionUrl例如:
public static void testConnect() throws Exception { //連接MySQL服務器 String username = "root"; StringJDBC查詢數據
例如:
package my; import java.sql.Connection; import java.sql.Date; import java.sql.DriverManager; import java.sql.ResultSet; import com.mysql.jdbc.Statement; public class Test { public static void testConnect() throws Exception { //連接MySQL服務器 StringJDBC的插入數據
例如:
//連接MySQL服務器 String username = "root"; String password = "a1b2c3"; String connectionUrl = "jdbc:mysql://127.0.0.1:3306/af_school?useUnicode=true&characterEncoding=UTF-8"; Connection conn = DriverManager.getConnection(connectionUrl,username,password); System.out.println("連接成功"); //插入數據 String sql = "INSERT INTO student(`id`,`name`,`birthday`)" + "VALUES(20181200,‘韓‘,‘1998-5-6‘)"; System.out.println("SQL:" + sql); Statement stmt = (Statement) conn.createStatement(); stmt.execute(sql); int count = stmt.getUpdateCount(); System.out.println("受影響的行數為:" + count); conn.close(); System.out.println("關閉連接");處理自增主鍵:
當主鍵設置為自增時,
1.插入數據時,不寫該字段
2.執行時指定RETURN_GENERATED_KEYS
3.取出返回的自增主鍵
例如:
//插入一條數據 String sql = "INSERT INTO leave_event(`stuId`,`daysFrom`,`daysTo`,`type`,`reason`)" + "VALUES(20181010,‘2018-5-6‘,‘2018-5-20‘,‘1‘,‘出國‘)"; System.out.println("SQL:" +sql); Statement stmt = (Statement) conn.createStatement(); stmt.execute(sql,Statement.RETURN_GENERATED_KEYS); //取得自動生成的主鍵的值 ResultSet rs = stmt.getGeneratedKeys(); while (rs.next()) { int id = rs.getInt(1); System.out.println("產生的主鍵為:" + id); }
JDBC的Statement接口提供的executeQuery executeUpdate execute三個方法的區別:
executeQuery:用於產生單個結果集的語句,利於SELECT語句
executeUpdate:用於執行INSERT DELETE UPDATE 以及SQL DDL(數據定義語言)語句
execute:用於執行返回多個結果集、多個更新計數或者二者組合的語句
Java數據庫連接(JDBC)