* Connection : 連接數(shù)據(jù)庫(kù)并擔(dān)任傳送數(shù)據(jù)的任務(wù)* Statement : 執(zhí)行SQL語(yǔ)句* ResultSet :保存Statement執(zhí)行后產(chǎn)生的查詢(xún)結(jié)果1.注冊(cè)驅(qū)動(dòng)Class.forName(JDBC驅(qū)動(dòng)類(lèi));2.獲取數(shù)據(jù)庫(kù)連接Connection con=DriverManager.getConnection(JDBC url,數(shù)據(jù)庫(kù)用戶(hù)名,密碼);3.獲得 Statement對(duì)象Statement stmt=con.createStatement();4.執(zhí)行SQL語(yǔ)句ResultSet rs=stmt.executeQuery(select a,b from table);5.處理執(zhí)行結(jié)果while(rs.next()){ int x=rs.getInt("a"); String s=rs.getString("b"); *數(shù)據(jù)類(lèi)型要相匹配}6.釋放資源1.rs.close();2.stmt.close();3.con.close();*順序倒過(guò)來(lái)依次關(guān)閉實(shí)例:Java使用PReparedStatement接口插入數(shù)據(jù)庫(kù)信息public class PreparedStatementDemo01 { public static final String DBDRIVER = "org.gjt.mm.MySQL.Driver"; public static final String DBURL = "jdbc:mysql://localhost:3306/"; public static final String DBUSER = "root"; public static final String DBPASS = "root"; public static void main(String args[]) throws ParseException, ClassNotFoundException, SQLException { Connection conn = null; //數(shù)據(jù)庫(kù)連接 PreparedStatement pstmt = null; //數(shù)據(jù)庫(kù)操作 Statement stmt = null; ResultSet rs = null; //Rs接口 String name = "黃鵬"; String passWord = "1598741"; int age = 21; String sex = "男"; String birthday ="1992-04-30"; Date temp = null; temp = new SimpleDateFormat("yyyy-MM-dd").parse(birthday); java.sql.Date bri = new java.sql.Date(temp.getTime()); //創(chuàng)建數(shù)據(jù)庫(kù)操作語(yǔ)句 String sql1 = "CREATE DATABASE MyDemo;"; //選擇使用哪個(gè)數(shù)據(jù)庫(kù)的語(yǔ)句 String sql2 = "USE MyDemo;"; //創(chuàng)建數(shù)據(jù)庫(kù)表操作語(yǔ)句 String sql3 = "CREATE TABLE user(name varchar(20) primary key,password varchar(20),age int,sex varchar(10),birthday Date);"; //查詢(xún)數(shù)據(jù)庫(kù)語(yǔ)句 String sql5 = "select * from user;"; //用PreparedStatement執(zhí)行的插入語(yǔ)句 String sql4 = "INSERT INTO user(name,password,age,sex,birthday) VALUES(?,?,?,?,?);"; //加載驅(qū)動(dòng)程序 Class.forName(DBDRIVER); //連接mysql數(shù)據(jù)庫(kù) conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS); //實(shí)例化PreparedStatement pstmt = conn.prepareStatement(sql4); //設(shè)置第一個(gè)?內(nèi)容 pstmt.setString(1, name); //設(shè)置第二個(gè)?內(nèi)容 pstmt.setString(2, password); //設(shè)置第三個(gè)?內(nèi)容 pstmt.setInt(3, age); //設(shè)置第四個(gè)?內(nèi)容 pstmt.setString(4,sex); //設(shè)置第五個(gè)?內(nèi)容 pstmt.setDate(5, bri); //執(zhí)行數(shù)據(jù)庫(kù)更新,不需要sql stmt = conn.createStatement(); stmt.execute(sql1); stmt.execute(sql2); stmt.execute(sql3); pstmt.executeUpdate(); rs = stmt.executeQuery(sql5); //向控制臺(tái)輸出信息 while(rs.next()) { String QueryName = rs.getString("name"); String QueryPwd = rs.getString("password"); int QueryAge = rs.getInt("age"); String QuerySex = rs.getString("sex"); Date QueryDate = rs.getDate("birthday"); System.out.println("name:"+QueryName+" pwd:"+QueryPwd+" "+QueryAge+" sex:"+QueryPwd+" date:"+QueryDate); } pstmt.close(); conn.close(); }}
|
新聞熱點(diǎn)
疑難解答
圖片精選