ÆðÁËÒ»¸ö±È½ÏÎÄÒյıêÌ⣬µ«ÊÇÈÔÈ»¸Ð¾õ²»ÄÜ ±í´ï³ö½ÓÏÂÀ´Õâ¸ö¹¤¾ßµÄÎÄÑÅ¡£ ËäÈ»Õâ¸ö¿âÊÇǰ¼¸¸öÔÂдµÄÁË£¬µ«ÊǾ¹ýÁ˽üÆÚСÏîÄ¿µÄ¿¼Ñ飬Óú·¢¾õµÃÕâ¿îÇáÁ¿¼¶µÄ¿âÓ¦¸Ã±»¸ü¶àµÄ¿ª·¢ÕßËùÖªÏþ£¬ÓÚÊÇ¡°³ô²»ÒªÁ³¡±µØÐ´ÁËÕâÆª½éÉÜÐÔµÄÎÄÕ¡£
³õÖÔ
¶ÔÓÚÈçÈÕÖÐÌìµÄ±à³ÌÓïÑÔÀÏ´ó¸çJava¶øÑÔ£¬ÆäÓµõ»ÕßÊýÄ¿¶¨È»²»ÉÙ¡£
´¿JDBC
»ù±¾É϶øÑÔ£¬µ½´ïÒ»¶¨µÄ½×¶ÎÖ®ºó£¬¾ÍÒ»¶¨»á½Ó´¥µ½Êý¾Ý¿âÁË¡£Ò»¿ªÊ¼Ð´´¿ÕýµÄJDBCµÄʱºò£¬²»ÖªµÀ±ðÈËÊÇÔõôÏëµÄ£¬µ«ÊǶÔÎÒ¸öÈ˶øÑÔ£¬¼òÖ±ÊÇ
Èç×øÕëÕ±¡£
ÏȲ»ÂÛʹÓÃStatement»¹ÊÇʹÓÃPreparedStatementÀ´Æ´´ÕSQLÓï¾ä£¬µ¥µ¥ÊÇ´¦ÀíResultSet¾ÍÊǸö²»ÕÛ²»¿ÛµÄ·³ÐÄÊ¡£
³Ö¾Ã»¯¿ò¼Ü
ÆäʵÕâ²¢²»ÊÇÌØÀý£¬´ó²¿·ÖÈ˶¼»áÓÐÕâô¸ö¸ÐÊÜ¡£²»È»hibernateµÈÕâЩ³Ö¾Ã»¯¿ò¼ÜÒ²²»»áµ®ÉúÁ˲»ÊÇ¡£µ«ÕâÒ²´øÀ´ÁËһЩ±×¶Ë¡£
1.Ê×ÏȶÔÓÚÐÂÊÖ¶øÑÔ£¬Ê¹ÓÃÕâЩ¿ò¼ÜÐèÒªÒ»¶¨µÄѧϰ³É±¾£¬Ñ§Ï°ÇúÏß²»¹»Æ½»º£¬Õâ¾ÍÓпÉÄÜÄ¥ÃðÆäѧϰµÄÐËȤ¡£
2.Æä´Î£¬¶ÔÓÚСÏîÄ¿¶øÑÔ£¬¶¯ÓÃÖØÁ¿¼¶µÄ¿ò¼Ü£¬¾ÍÏԵá°´ó²ÄСÓá±ÁË¡£ËäÈ»Õâ²¢²»ÊÇ˵²¿¿ÉÒÔ£¬È´ÏÔµÃÓе㲻ºÏʱÒË¡£
ÇáÁ¿¼¶³Ö¾Ã»¯¿ò¼Ü
ÏàÐÅ´ó¼Ò¶¼Á˽âApacheµÄdbutils°É¡£´ó´óµØ¼ò»¯ÁËJDBCµÄ´¦Àí£¬·â×°ÁËºÜ¶à±ØÐëµÄ²Ù×÷¡£µ«ÊÇÎÒ¸öÈËÈÏΪËü²¢²»ÄܳÆÖ®ÎªÒ»¸ö¿ò¼Ü¡£
³äÆäÁ¿ÊÇÒ»¸öJDBCµÄWrap°æ£¬Ò²¾ÍÊǶÔJDBC½øÐÐÁ˼òµ¥µÄ·â×°µÄÒ»¸ö¹¤¾ß¡£
ÓÚÊÇ£¬ÔÚÑо¿ÁËÆä¹¤×÷ÔÀíÖ®ºó£¬½áºÏApacheµÄÁíÒ»¸öBeanUtils¿â£¬ÎÒÖÆ×÷ÁËÒ»¸ö±È½ÏÇáÁ¿¼¶µÄÊý¾Ý¿â³Ö¾Ã»¯¿ò¼Ü¡££¨¹ÃÇÒ³ÆÖ®Îª¿ò¼Ü°É£¬(^__^)
ÎûÎû¡¡£©
Éè¼ÆË¼Â·
ÒÔÎÒ¸öÈË£¬²»³¤µÄ¿ª·¢¾ÑéÀ´¿´¡£¡°¹ýÓ̲»¼°£¬¹ýÂúÔò¿÷¡±¡£ËùÒÔ¶ÔÓÚ¿ò¼ÜµÄÉè¼ÆÔÔòÒ²Ó¦¸ÃÈç´Ë¡£
²»ÄÜʲô¶¼×ö£¬ÒªÊÊʱµÄ½«È¨ÏÞ·Å¿ª£¬Ôö¼ÓÍØÕ¹¡£
×Ðϸ˼¿¼ÁË£¬µ½µ×ÒªÄÃËüÀ´×öʲô£¿ ÈçºÎÌí¼ÓÍØÕ¹£¿ÕâЩÎÊÌâÖ®ºó£¬ÎҾͿªÊ¼×ÅÊÖ±àÂëÁË¡£
ÆÚ¼äÔËÓÃÁË õ¿½ÅµÄ·ºÐͺͷ´Éä²Ù×÷£¬×Ô¶¯»¯µÄ½âÆÊBean£¬À´½â¾öÓëÊý¾Ý¿âÖ®¼äµÄ³Ö¾Ã»¯ºÍ·´ÐòÁл¯´¦ÀíµÈµÈ¡£
´óÌåµÄ¡°¼Ü¹¹¡± ¿ÉÓÃÏÂͼ±íʾ£º

¼Ü¹¹Í¼
ÔõôʹÓã¿
½éÉܵ½ÈçºÎʹÓã¬ÎÒ¾õµÃ»¹ÊÇÒÔʵ¼ÊµÄʹÓð¸ÀýÀ´½éÉܱȽϺã¬ÕâÑù¸üÓÐ˵·þÁ¦¡£
ÒÀÀµ
ÒòΪÕâ¸ö¿ò¼ÜÒÀÀµÓÚapacheµÄһЩjar£¬ËùÒÔÎÒÃÇÐèÒª½«ÏÂÁÐÒÀÀµÌí¼Óµ½×Ô¼ºµÄÏîÄ¿ÖС££¨ÎÒ¸öÈ˽¨ÒéÔÚÏîÄ¿ÖÐн¨Ò»¸ölib°üÀ´·ÅÖÃjarÎļþ£©
Êý¾Ý¿âÅäÖÃ
ÒòΪJDBCÊÇ¿çÊý¾Ý¿âµÄ£¬ËùÒÔÎÒÃÇÖ»ÒªÌṩÕë¶Ô²»Í¬µÄÊý¾Ý¿â³§É̵Äjar£¬ÄÇôÕâ¸ö¿ò¼ÜÒ²¿ÉÒÔ¿çÊý¾Ý¿â¡£
ÈçÉÏͼ¿ÉÒÔ¿´µ½ srcĿ¼ÏÂÓÐÒ»¸ödb.cfg.xmlµÄÎļþ¡£ÕâÀïÃæ¾Í·ÅÖÃÁË֮ǰҪÊÖ¶¯´¦ÀíµÄÊý¾Ý¿âÅäÖÃÐÅÏ¢ÁË¡£±Èºù«»Æ°£¬°´ÕÕÏÂÃæµÄ´úÂëÅäÖÃ×Ô¼ºµÄ»·¾³¼´¿É¡£
<?xml version="1.0" encoding="UTF-8" ?> <project> <database name="mysql"> <driver>com.mysql.jdbc.Driver</driver> <url>jdbc:mysql://localhost:3306/mydb</url> <user>root</user> <password>mysql</password> </database>
</project> |
»ù±¾ÉÏÀ´Ëµ£¬´ó¼Ò¶¼»áÓÐרÃŵÄBaseDAOÀ࣬ÄÇôÔÚÕâ¸öÀàÀïÃæ½øÐÐÊý¾Ý¿âÅäÖõÄ×¢²áʼþÊÇ×îºÏÊʲ»¹ýÁË¡£
import dbhelper.DbHelper;
/**
* @author ¹ù è±
*
*/
public class BaseDAO {
/**
* ʹÓþ²Ì¬´úÂë¿éµÄ·½Ê½£¬ÔÚ³ÌÐòµÄDAO²ãÔËÐÐ֮ǰ¾Í×¢²áºÃ DbHelper £¬×öºÃ¶ÔÊý¾ÝÔ´µÄ×¢²á
*/
static {
try {
DbHelper.register();
} catch (Exception e) {
throw new RuntimeException(e + "\n Êý¾ÝԴδע²á³É¹¦");
}
}
} |
ÕâÑù£¬ÆäËûµÄDAOÖ»ÐèÒª¼Ì³ÐÕâ¸öÀà¾Í¿ÉÒÔÁË£¬ÎÒÃǾͲ»ÓùØÐÄÊý¾ÝÔ´µÄÎÊÌâÁË£¬µ×²ã¿ò¼Ü»á×Ô¶¯µÄ°ïÎÒÃǸ㶨¡£
ÕýʽʹÓÃ
ÓÐÒ»µãÐèҪǿµ÷µÄÊÇ£¬Êý¾Ý¿âÖеÄ×Ö¶ÎÒªºÍJava BeanÖеÄÊôÐÔÃû±£³Ö¸ß¶ÈµÄÒ»Ö£¬·ñÔò¿ò¼Ü²»ÄÜÕýÈ·µÄÕÒµ½ÆäÁ¥ÊôµÄ×Ö¶ÎÐÅÏ¢¡£±Ï¾¹¿ò¼Ü²»ÊÇÍòÄܵÄÂï¡£
Êý¾Ý¿â±í½á¹¹

Êý¾Ý¿â±í×Ö¶Î
Java Bean½á¹¹

JavaBean×Ö¶Î
ÈçͼËùʾ£¬ °´ÕÕÕâÑùÀ´Éè¼Æ¾Í¿ÉÒÔÁË¡£
´ÓÊý¾Ý¿â»ñȡһÌõ¼Ç¼£¬²¢×ªÎª¶ÔÏó
/** * ¸ù¾ÝÓû§Ãû²éÕÒÆä¸öÈ˵ÄÏêϸµÄÐÅÏ¢ * * @param user_name * @return */ public User selectUser(String user_name) { // ÉùÃ÷Êý¾Ý¿âÁ¬½Ó¶ÔÏó Connection conn = null; try { // ³õʼ»¯ Êý¾Ý¿âÁ¬½Ó¶ÔÏ󣬱ÜÃâ³öÏÖ¿ÕÖ¸Õëµ÷ÓÃÒì³£ÎÊÌâ conn = DbHelper.getConn(); // ×é×° SQL ²éѯÓï¾ä String sql = "select * from java_user where user_name= ?"; // ʵÀý»¯Êý¾Ý¿â²éѯ¶ÔÏó QueryRunner queryRunner = new QueryRunner(); // ²ÉÓà ·ºÐͱà³Ì¼¼Êõ £¬´Óµ×²ã¿ªÊ¼Ö±½Ó»ñÈ¡Êý¾Ý¿âÐмǼµ½¶ÔÏóµÄ×Ô¶¯×ª»¯Á÷³Ì User user = queryRunner.query(conn, sql, new BeanHandler<User>(User.class), user_name); // ÊÍ·ÅÊý¾Ý¿âÁ´½Ó×ÊÔ´ DbHelper.release(conn); return user != null ? user : null; } catch (Exception e) { throw new RuntimeException(" :\n" + e); } } |
Óë´Ëͬʱ£¬Êý¾Ý¿âÖеļǼÈçÏÂͼ£º
Êý¾Ý¿âÖмǼÐÅÏ¢
ÏÂÃæÊ¹ÓÃJUnitÀ´²âÊÔһϣ¬ Junit²âÊÔ½á¹û

¿É¼û£¬È·Êµ¿ÉÒÔ×Ô¶¯µÄ°ïÖúÎÒÃÇ·´ÐòÁл¯Êý¾Ý¿âÖеÄÊý¾Ý¡£
¸ß¼¶°æ
ÉÏÃæµÄС°¸Àý¼òµ¥µÄ²âÊÔÁËһϣ¬µ¥¸öBean¶ÔÏóµÄ»ñÈ¡£¬ÄÇôÈç¹û˵ResultSetÄÚ°üº¬¶àÌõ¼ÇÂ¼ÄØ£¿
ÕâʱºòÄã¿ÉÄÜ»áÏ룬ҪÊÇÄÜ×Ô¶¯µÄת»»³ÉList£¬È»ºóListÀïÃæ°ü¹ü×ÅÕâЩ·´ÐòÁл¯ºÃµÄÊý¾Ý¶ÔÏ󣬸öàºÃ¡£
ȷʵÊÇÕâÑùµÄ£¬DbHelperÒ²×öµ½ÁË¡£(^__^) ÎûÎû¡¡
Êý¾Ý¿âÄڼǼ
ÏÐÑÔÉÙÐð£¬ÔÛÃÇÖ±½Ó¿ªÊ¼°É¡£

Êý¾Ý¿âÄÚ×Ö¶ÎÐÅÏ¢
JavaBean½á¹¹
°´ÕÕÔ¼¶¨£¬java Bean ÄÚ×ֶα£³ÖºÍÊý¾Ý¿âÄÚ±í½á¹¹×Ö¶ÎÒ»Ö¼´¿É¡£
public class Site { private String site_name; private String site_username; private String site_password; private Integer java_user_id; private Integer java_tag_tag_id;
public String getsite_name() {
return site_name;
}
¡¤¡¤¡¤ ¡¤¡¤¡¤ |
È»ºó¾ÍÊÇ DAO²ãÄÚµÄÒµÎñ´úÂëÁË£¬»¹ÊÇÄǼòµ¥µÄ¼¸²½¡£ÐèҪעÒâµÄÊÇ£¬½Ó¿Ú»Øµ÷µÄʱºònewµÄ²»ÔÙÊÇBeanHandlerÁË£¬¶øÊÇBeanListHandler¡£ÕâºÍ·µ»ØµÄ½á¹û¼¯Ö±½ÓÏà¹Ø¡£
public List<Site> selectAllSites(String user_name) { Connection conn = null; try { // ʵÀý»¯ Êý¾Ý¿âÁ¬½Ó¶ÔÏó conn = DbHelper.getConn(); // Æ´½ÓsqlÓï¾ä String sql = "select * from java_site where java_site.java_user_id=
(select java_user.id from java_user where java_user.user_name='" + user_name + "')"; // ʵÀý»¯²éѯÆ÷ QueryRunner queryRunner = new QueryRunner(); // »ñÈ¡½Ó¿Ú»Øµ÷´¦ÀíºóµÄ½á¹û List<Site> sites = queryRunner.query(conn, sql, new BeanListHandler<Site>(Site.class)); // ÊÍ·ÅÊý¾Ý¿âÁ´½Ó×ÊÔ´ DbHelper.release(conn);
return sites != null ? sites : null;
} catch (Exception e) {
throw new RuntimeException(" :\n" +
e);
}
} |
È»ºóÔÙÀ´¿´¿´JUnitµÄ²âÊÔ½á¹û£º JUnit List ²âÊÔ½á¹û

¹û²»ÆäÈ»£¬»¹ÊÇ»ñÈ¡µ½ÁËÕýÈ·µÄÊý¾Ý¡£ÕâÒ»µã¿ÉÒÔºÍÊý¾Ý¿âÖÐÔʼµÄÐÅÏ¢½øÐжԱȡ£
ÍØÕ¹
ΪÁËʹµÃÕâ¸ö¿ò¼Ü¸ü¼ÓµÄÁé»î£¬ Âú×ã´ó²¿·ÖµÄ¶¨ÖÆÐÔµÄÐèÇó£¬ÕâÀï¸øQueryRunner
¶îÍâ½øÐÐÁËÍØÕ¹¡£¿ÉÒÔÁé»îµÄ´¦Àí×Ô¼ºµÄÒµÎñÐèÇó¡£
/** * ¸ù¾Ý¸ø¶¨µÄ²ÎÊýʵÏÖÏòÊý¾Ý¿âÖиø¶¨SQLÓï¾äµÄupdate,delete,insert ²Ù×÷ * * @param conn * Êý¾Ý¿âÁ¬½Ó¶ÔÏó£¬Óû§²»±Ø¹ØÐÄÆäÊÍ·ÅÎÊÌ⣬ÕâÀï×Ô¶¯½«ÆäÊÍ·Å * @param sql * Êý¾Ý¿â²éѯÓï¾ä * @param params * ¶ÔÓ¦ÓÚSQLÓï¾äռλ·ûµÄ²ÎÊýÁбí * @throws Exception */ public void update(Connection conn, String sql, Object... params) throws Exception { PreparedStatement ps = conn.prepareStatement(sql); for (int i = 0; i < params.length; i++) { ps.setObject((i + 1), params[i]); } ps.executeUpdate(); DbHelper.release(conn, ps); } |
ʹÓõÄʱºòÖ»ÐèÒª½«×é×°ºÃµÄsqlÓï¾ä´«¸øquery·½·¨¼´¿É¡£È磺
/** * ¸üÐÂ ÍøÕ¾¶ÔÓ¦µÄ±êÇ©ÐÅÏ¢ * * @param site_name * ÍøÕ¾Ãû³Æ * @param new_java_tag_tag_id * еıêÇ©ÐÅÏ¢ * @return */ public boolean updateSiteTagID(String site_name, Integer new_java_tag_tag_id) { Connection conn = null; try { conn = DbHelper.getConn(); String sql = "update java_site set java_tag_tag_id=? where site_name=?"; QueryRunner queryRunner = new QueryRunner(); Object[] params = { new_java_tag_tag_id, site_name }; // ÔÚÍê³É¸üвÙ×÷ºó£¬µ×²ã»á×Ô¶¯µÄ¶Ï¿ªÓëÊý¾Ý¿âµÄÁ´½Ó queryRunner.update(conn, sql, params); return true; } catch (Exception e) { throw new RuntimeException(" :\n" + e); }
} |
Èç´Ë£¬»ù±¾ÉÏ¿ÉÒÔÂú×ãJDBC±à³ÌʱÓöµ½µÄÇé¿öÁË¡£
×ܽá
Æäʵ²©Ö÷±¾ÈËÕæµÄÊÇÒ»¸ö°®·ÖÏí£¬ÈÈÐij¦µÄÓÐÖ¾ÇàÄê¡£½ñÌìдÕâÆªÎÄÕµÄÒ»¸öºÜÖØÒªµÄÔÒò¾ÍÊÇÏë°ïÖúÄÇЩ±¥ÊÜJDBCÖ®¿àµÄ¿ª·¢ÈËÔ±£¬½ñÔçµÄÒÔÒ»ÖÖÓÅÑŵķ½Ê½ÍÑÀë¿àº£¡£
ÕâÆªÎÄÕ´ÓÓ¦ÓÃÐԵĽǶȶøÑÔ£¬Ó¦¸ÃËãÊDZȽÏÏêϸµÄÁË¡£µ«ÊÇ»ù±¾ÉÏûÓÐÌÖÂ۵ײãµÄʵÏÖ¡£ |