å建ä¸ä¸ªä»¥JDBCè¿æ¥æ°æ®åºçç¨åºï¼å
å«7个æ¥éª¤ï¼
1ãå è½½JDBC驱å¨ç¨åºï¼
å¨è¿æ¥æ°æ®åºä¹åï¼é¦å
è¦å è½½æ³è¦è¿æ¥çæ°æ®åºç驱å¨å°JVMï¼Javaèææºï¼ï¼
è¿éè¿java.lang.Classç±»çéææ¹æ³forName(String className)å®ç°ã
ä¾å¦ï¼
try{
//å è½½MySqlç驱å¨ç±»
Class.forName("com.mysql.jdbc.Driver") ;
}catch(ClassNotFoundException e){
System.out.println("æ¾ä¸å°é©±å¨ç¨åºç±» ï¼å 载驱å¨å¤±è´¥ï¼");
e.printStackTrace() ;
}
æåå è½½åï¼ä¼å°Driverç±»çå®ä¾æ³¨åå°DriverManagerç±»ä¸ã
2ãæä¾JDBCè¿æ¥çURL
•è¿æ¥URLå®ä¹äºè¿æ¥æ°æ®åºæ¶çåè®®ãååè®®ãæ°æ®æºæ è¯ã
•ä¹¦åå½¢å¼ï¼åè®®ï¼ååè®®ï¼æ°æ®æºæ è¯
åè®®ï¼å¨JDBCä¸æ»æ¯ä»¥jdbcå¼å§
ååè®®ï¼æ¯æ¡¥è¿æ¥ç驱å¨ç¨åºææ¯æ°æ®åºç®¡çç³»ç»å称ã
æ°æ®æºæ è¯ï¼æ è®°æ¾å°æ°æ®åºæ¥æºçå°åä¸è¿æ¥ç«¯å£ã
ä¾å¦ï¼ï¼MySqlçè¿æ¥URLï¼
jdbc:mysql:
//localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
useUnicode=trueï¼è¡¨ç¤ºä½¿ç¨Unicodeå符éãå¦æcharacterEncoding设置为
gb2312æGBKï¼æ¬åæ°å¿
须设置为true ãcharacterEncoding=gbkï¼å符ç¼ç æ¹å¼ã
3ãå建æ°æ®åºçè¿æ¥
•è¦è¿æ¥æ°æ®åºï¼éè¦åjava.sql.DriverManager请æ±å¹¶è·å¾Connection对象ï¼
该对象就代表ä¸ä¸ªæ°æ®åºçè¿æ¥ã
•ä½¿ç¨DriverManagerçgetConnectin(String url , String username ,
String password )æ¹æ³ä¼ å
¥æå®ç欲è¿æ¥çæ°æ®åºçè·¯å¾ãæ°æ®åºçç¨æ·åå
å¯ç æ¥è·å¾ã
ä¾å¦ï¼
//è¿æ¥MySqlæ°æ®åºï¼ç¨æ·ååå¯ç é½æ¯root
String url = "jdbc:mysql://localhost:3306/test" ;
String username = "root" ;
String password = "root" ;
try{
Connection con =
DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println("æ°æ®åºè¿æ¥å¤±è´¥ï¼");
se.printStackTrace() ;
}
4ãå建ä¸ä¸ªStatement
•è¦æ§è¡SQLè¯å¥ï¼å¿
é¡»è·å¾java.sql.Statementå®ä¾ï¼Statementå®ä¾å为以ä¸3
ç§ç±»åï¼
1ãæ§è¡éæSQLè¯å¥ãé常éè¿Statementå®ä¾å®ç°ã
2ãæ§è¡å¨æSQLè¯å¥ãé常éè¿PreparedStatementå®ä¾å®ç°ã
3ãæ§è¡æ°æ®åºåå¨è¿ç¨ãé常éè¿CallableStatementå®ä¾å®ç°ã
å
·ä½çå®ç°æ¹å¼ï¼
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt =
con.prepareCall("{CALL demoSp(? , ?)}") ;
5ãæ§è¡SQLè¯å¥
Statementæ¥å£æä¾äºä¸ç§æ§è¡SQLè¯å¥çæ¹æ³ï¼executeQuery ãexecuteUpdate
åexecute
1ãResultSet executeQuery(String sqlString)ï¼æ§è¡æ¥è¯¢æ°æ®åºçSQLè¯å¥
ï¼è¿åä¸ä¸ªç»æéï¼ResultSetï¼å¯¹è±¡ã
2ãint executeUpdate(String sqlString)ï¼ç¨äºæ§è¡INSERTãUPDATEæ
DELETEè¯å¥ä»¥åSQL DDLè¯å¥ï¼å¦ï¼CREATE TABLEåDROP TABLEç
3ãexecute(sqlString):ç¨äºæ§è¡è¿åå¤ä¸ªç»æéãå¤ä¸ªæ´æ°è®¡æ°æäºè
ç»åç
è¯å¥ã
å
·ä½å®ç°ç代ç ï¼
ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;
int rows = stmt.executeUpdate("INSERT INTO ...") ;
boolean flag = stmt.execute(String sql) ;
6ãå¤çç»æ
两ç§æ
åµï¼
1ãæ§è¡æ´æ°è¿åçæ¯æ¬æ¬¡æä½å½±åå°çè®°å½æ°ã
2ãæ§è¡æ¥è¯¢è¿åçç»ææ¯ä¸ä¸ªResultSet对象ã
• ResultSetå
å«ç¬¦åSQLè¯å¥ä¸æ¡ä»¶çææè¡ï¼å¹¶ä¸å®éè¿ä¸å¥getæ¹æ³æä¾äºå¯¹è¿äº
è¡ä¸æ°æ®ç访é®ã
• 使ç¨ç»æéï¼ResultSetï¼å¯¹è±¡ç访é®æ¹æ³è·åæ°æ®ï¼
while(rs.next()){
String name = rs.getString("name") ;
String pass = rs.getString(1) ; // æ¤æ¹æ³æ¯è¾é«æ
}
ï¼åæ¯ä»å·¦å°å³ç¼å·çï¼å¹¶ä¸ä»å1å¼å§ï¼
7ãå
³éJDBC对象
æä½å®æ以åè¦æææ使ç¨çJDBC对象å
¨é½å
³éï¼ä»¥éæ¾JDBCèµæºï¼å
³é顺åºå声
æ顺åºç¸åï¼
1ãå
³éè®°å½é
2ãå
³é声æ
3ãå
³éè¿æ¥å¯¹è±¡
if(rs != null){ // å
³éè®°å½é
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(stmt != null){ // å
³é声æ
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(conn != null){ // å
³éè¿æ¥å¯¹è±¡
try{
conn.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
温馨提示:答案为网友推荐,仅供参考