一.執行DDL、DML語句java
DDL、DML分別表示數據庫定義語言、數據庫操縱語言,操控這兩種語言應該使用Statement對象的executeUpdate方法。mysql
代碼以下:sql
public static void main(String[] args) throws Exception { Class.forName("com.mysql.jdbc.Driver");//加載驅動 //得到一個物理會話 Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false","root","4399"); //獲得一個Statement對象 Statement stat=conn.createStatement(); String DDL_sql="create table if not exists tab(tab_id varchar(10) primary key,tab_name varchar(20))"; String DML_sql="insert into tab values('T0002','狗王')"; System.out.println(stat.executeUpdate(DDL_sql));//輸出執行DDL語句的返回值 System.out.println(stat.executeUpdate(DML_sql));//輸出執行DML語句的返回值 }
結果以下:對於DDL語句返回的是0,對於DML語句返回的是受影響的行數。數據庫
二.執行DQL語句spa
對於查詢語句應該使用Statement對象的executeQuery方法代碼以下:code
Class.forName("com.mysql.jdbc.Driver"); Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false","root","4399"); Statement stat =conn.createStatement(); String DQL_sql="select * from tab"; ResultSet rs=stat.executeQuery(DQL_sql);
獲得的是一個ResultSet的結果集。對象
三.使用PreparedStatement執行SQL語句blog
一個預處理的Statement對象。代碼以下:get
package StudyJDBC; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; /** * @ClassName PreparedStatementText * @Author 真正的小明被佔用了 * @Date 2018/10/21/021 11:15 * @Version 1.0 */ public class PreparedStatementText { public static void main(String[] args) throws Exception { Class.forName("com.mysql.jdbc.Driver"); Connection conn =DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false","root","4399"); //建立一個PreparedStatement對象 PreparedStatement perpare=conn.prepareStatement("insert into tab values (?,?)");//對象在建立之初就有了預編譯 perpare.setString(1,"T00003");//設置第一個佔位符的類型和值 perpare.setString(2,"李武");//設置第二個 perpare.executeUpdate();//執行的仍是DML語句因此使用executeUpdate方法 } }
四.查詢結果管理集io
package StudyJDBC; import java.sql.*; import java.util.ArrayList; /** * @ClassName ReasultSetText * @Author 真正的小明被佔用了 * @Date 2018/10/21/021 13:48 * @Version 1.0 */ public class ReasultSetText { public static void main(String[] args) throws Exception { Class.forName("com.mysql.jdbc.Driver"); Connection conn= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false","root","4399"); Statement stat=conn.createStatement(); //建立一個結果集接受查詢結果 ResultSet rs=stat.executeQuery("select * from tab"); //如今rs結果集有三行三列, rs.next();//第一行 System.out.println(rs.getString("tab_id")); rs.absolute(2);//跳轉到第二行 System.out.println(rs.getString("tab_id")); rs.first();//直接回到第一行 System.out.println(rs.getString("tab_id")); rs.close(); } }