代ç æå°±ä¸çäº ç´æ¥ç»ä½ æ¾æ®µç±»ä¼¼ç
æ·ä¸ä»¥ååç论æä¸é¨å
2.3.2 使ç¨JDBCçä¸è¬æµç¨
å è½½æ个æ°æ®åºç驱å¨ï¼Driverç±»ï¼
é常使ç¨Class.forName(â驱å¨çç±»åâ);
è¿æ¥æ°æ®åº
Connection con = DriverManager.getConnection(url,username,password)ï¼
å¾å°ä¼è¯
Statement stmt = con.createStatement();
æ§è¡æä½
Result rs = stmt.executeQuery(âSQLæ¥è¯¢è¯å¥â)ï¼
5. å¤çç»æ
while(rs.next()){
String col1 = rs.getString(1);
â¦â¦
}
XxxDaoæ¥å£ç设计
XxxDaoæ¯æ°æ®æä¹
åå±å¯¹æ°æ®åºè¿è¡æä½çæ¥å£ãææServiceå±å¯¹æ°æ®åºçæä½é½æ¯éè¿è°ç¨DAOå±ç¸åºçXxxDaoæ¥å£ä¸çæ¹æ³æ¥å®ç°ã以AdminDao为ä¾è¯´æXxxDaoæ¥å£æ¯å¦ä½å®ä¹çï¼
AdminDao.java
public interface AdminDao {
/** ç»ééªè¯ï¼éªè¯æå®ç®¡ççIDåå¯ç çè®°å½æ¯å¦åå¨ */
public Admin getAdminByIdAndPswd(String adminId, String adminPswd);
/*æ¤æ¥å£çä¸å
¶ä»æ¹æ³çç¥*/
//å
¶ä»æ¹æ³å£°æç代ç çç¥...
}
说æï¼
XxxDaoæ¥å£æ»æ¯è¢«ç¸åºçXxxDaoJdbcImplç±»å®ç°ï¼éè¿ç¸åºæ¹æ³çéåè¾¾å°å
·ä½çæ°æ®æä½ã
XxxDaoæ¥å£å®ç°ç±»XxxDaoJdbcImplç设计
XxxDaoJdbcImplæ¯XxxDaoæ¥å£çå®ç°ç±»ï¼è¯¥å®ç°ç±»ä¸éè¿å¯¹æ¥å£æ¹æ³çéåï¼æ¥è¾¾å°å¯¹ç¹å®æ°æ®è¡¨çå¢å æ¹æ¥çæä½ã以AdminDaoJdbcImpl为ä¾æ¥è¯´ææ¯å¦ä½è¿è¡å¯¹æ°æ®åºè¡¨çæä½ï¼å
·ä½æä½è¯´æè§ä»£ç 注éï¼
AdminDaoJdbcImpl.java
public class AdminDaoJdbcImpl implements AdminDao {
/**æ¥è¯¢æå®ç¨æ·IDåå¯ç çè®°å½æ¯å¦åå¨ãè¥åå¨è¿åä¿åæ¤è®°å½ç对象*/
public Admin getAdminByIdAndPswd(String adminId, String adminPswd) {
/*è°ç¨utilså
ä¸çå
Œ
±æ°æ®åºè¿æ¥ç±»DatabaseConnçéææ¹æ³getConnection() åå¾æå®æ°æ®åºçè¿æ¥ã*/
Connection conn = DatabaseConn.getConnection();
try {
/*å建(MySql)æ°æ®åºæ¥è¯¢è¯å¥*/
String sql = "select * from t_admin where ADMIN_ID=? and ADMIN_PSWD=? and STATE='1'";
/* 表示é¢ç¼è¯ç SQL è¯å¥ç对象ãSQL è¯å¥è¢«é¢ç¼è¯å¹¶åå¨å¨ PreparedStatement 对象ä¸ï¼ç¶åå¯ä»¥ä½¿ç¨æ¤å¯¹è±¡å¤æ¬¡é«æå°æ§è¡è¯¥è¯ å¥ã*/
PreparedStatement prep = conn.prepareStatement(sql);
/*æ°å1代表第ä¸ä¸ªé®å·ï¼è¡¨ç¤ºç¨å®åadminIdç»sqlä¸ç第ä¸ä¸ªé®å·èµå¼ã ä¸ä¸å¥ç±»åãå¨è¿éå¿
须注æå®åçç±»ååæ°æ®åºä¸æ°æ®ç±»åçå¹é
ãå¨ è¿éå®åStringç±»å对åºäºæ°æ®åºä¸çvarchar()ã*/
prep.setString(1, adminId);
prep.setString(2, adminPswd);
/*å¨æ¤ PreparedStatement 对象ä¸æ§è¡ SQL æ¥è¯¢ï¼å¹¶è¿å该æ¥è¯¢çæç ResultSet 对象ãä¸ä¼è¿å nullãResultSet æ¬èº«æ¯ä¸ä¸ªinterface ã */
ResultSet rs = prep.executeQuery();
/*å¦æç»æéä¸æå¼ï¼è¡¨ç¤ºç¨æ·è¾å
¥ç管ççIDåå¯ç æ¯ææçï¼è¿æ ·ç è®°å½åå¨ã*/
if (rs.next()) {
// å
æä¿¡æ¯ååºæ¥ï¼å¹¶å®ä¾åä¸ä¸ªAdmin对象ã
Admin admin = new Admin();
admin.setAdminId(adminId);
admin.setAdminPswd(adminPswd);
admin.setAdminName(rs.getString("ADMIN_NAME"));
admin.setLastLoginTime(rs.getTimestamp("LASTLOGIN_TIME"));
admin.setLastLoginMes(rs.getString("LASTLOGIN_MES"));
admin.setAdminDesc(rs.getString("ADMIN_DESC"));
/*å
³éResultSet*/
rs.close();
/*å
³éPreparedStatement */
prep.close();
// ä¿®æ¹ç»éæ¶é´ï¼t_admin表ä¸åå¨çç¨æ·æè¿ä¸æ¬¡ç»éçæ¶é´
String updateLoginTime = "update t_admin set LASTLOGIN_TIME=? where ADMIN_ID=? ";
PreparedStatement updatePrep = con.prepareStatement(updateLoginTime);
updatePrep.setTimestamp(1, new Timestamp(new java.util.Date()
.getTime()));
updatePrep.setString(2, adminId);
updatePrep.executeUpdate();
updatePrep.close();
// è¿å
return admin;
} else {
/*å¦æç»æéä¸æ²¡æå¼ï¼è¡¨ç¤ºç¨æ·è¾å
¥çIDå¯ç ä¸æ£ç¡®ã
å
³éResultSetï¼å
³éPreparedStatement ï¼ç¨åºè¿ånullã*/
rs.close();
prep.close();
return null;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
/*å¨ç¨åºæ§è¡returnè¿ååï¼finallyè¯å¥ä¼è¢«æ§è¡ï¼å¨è¿éæ§è¡å¿
é¡»çä¸ æ¥æä½ï¼å
³éæ°æ®åºè¿æ¥ãå³ä½¿æå¼å¸¸æåºï¼finally{}è¯å¥ç
§æ ·è½æ§è¡ï¼ ä¿è¯æ°æ®åºè¿æ¥å¯ä»¥å®å
¨éæ¾ï¼ä¸ä¼é ææ°æ®åºåºç°å
¶å®æ°æ®å¼å¸¸çé® é¢ã*/
DatabaseConn.closeConnection(conn);
}
return null;
}
/*AdminDaoæ¥å£ä¸çå
¶ä»æ¹æ³çå®ç°*/
//å
¶ä»æ¹æ³çå®ç°ä»£ç çç¥...
}
说æï¼
æ´ä¸ªå¯¹æ°æ®åºæä½çè¿ç¨å°±æ¯ï¼åå¾æ°æ®åºè¿æ¥--ãå建Sqlè¯å¥--ãå建PreparedStatement è¯å¥--ã对è¯å¥ä¸çâï¼âè¿è¡èµå¼--ãæ§è¡executeX() æä½ï¼è·å¾ç»ææ¾å
¥ResultSetä¸--ãæ ¹æ®éæ±ä»ResultSetä¸è·å¾éè¦çç»æ-->å
³éResultSet-->å
³éPreparedStatement --ãæå¼æ°æ®åºè¿æ¥--ãç»æè¿åã
温馨提示:答案为网友推荐,仅供参考