java¿ªÔ´Îĵµ´óÈ«ÖÂÁ¦ÓÚ´òÔìÖйú×î´ó×îÈ«µÄ¿ªÔ´Îĵµ,ËüÌṩÁË×îÈ«Ãæ×îȨÍþµÄ¿ªÔ´×ÊÁÏ,ͬʱΪ´ó¼ÒÌṩһ¸ö½»Á÷µÄƽ̨,Èç¹ûÄúÓкõÄÏë·¨,»¶ÓÄúͶ¸å.
½üÀ´¿ªÊ¼Ñ§Ï°ibatis£¬ºÃ²»ÈÝÒ×ÕÒÁËЩÈëÃÅ×ÊÁÏ£¬È´Ã»Ïëµ½ibatisµÄµÚÒ»¸öÀý×ÓÉϾͿ¨×¡£¬ÏÈÊÇ´Óibatis¹Ù·½ÏµÄpetstore5ÔÚresin-pro-3.0.22ÉÏÔËÐв»ÆðÀ´¡£È»ºó¾ÍÊÇ¡¶ibatis¿ª·¢Ö¸ÄÏ¡·£¨ÏÄê¿£º xiaxin(at)gmail.com£©µÄµÚÒ»¸öÀý×Ó£¬´úÂëÕÕ×ÅÇýøÀ´£¬Ò²²»¼ûÄÜÆðÀ´¡£ È»ºóÔÚJEÉÏÕÒµ½ÁËÕâ¸ö http://www.javaeye.com/post/148076 £¨ÎÂÈáÒ»µ¶£© Õâ¸ö»¹²»ÊǺܻµ£¬ÄÜÔËÐУ¬È»¶øgetAllUser¶Á³öÀ´µÄ¼Ç¼Êý×ÜÊÇ0£¬¶øÊý¾Ý¿âÊÇÓÐÊý¾ÝµÄ¡£ Õâ¸öUser.xmlÖвéѯµÄÅäÖôúÂ룺 xml ´úÂë - <select id="getAllUser" resultClass="user">
- <!--DATA[€€ </sp-->
- select
- name,
- sex
- from t_user WHERE name=#name#
- ]]>
- select>
java´úÂë¶ÎÈçÏ£º java ´úÂë - try {
- sqlMap.startTransaction();
- user=sqlMap.queryForList("getAllUser", null);
- sqlMap.commitTransaction();
- } catch (SQLException e) {
- System.out.println(e.getMessage());
- } finally {
- try {
- sqlMap.endTransaction();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
²âÊÔÁ˼¸´ÎÈ¡²»µ½½á¹û¡£¿ªÊ¼ÕÒÔÒò£¬ ÏÈÊÇ°Ñ java ´úÂë - user=sqlMap.queryForList("getAllUser", null);
ÖеIJÎÊýnull¸Ä³Éuser2£¨Ð´´½¨µÄÒ»¸öUser¶ÔÏ󣬯äËûsetName("Êý¾Ý¿âÖÐÒÑ´æÔÚ×Ö¶ÎÖµ")£©£¬¿ÉÒÔÈ¡µ½ÄÇÌõ¼Ç¼¡£ ¿ÉÒÔÕâÀïÓиöСÎÊÌ⣬·ÅºóÃæËµ£¡£¡£¡£¡£¡£¡ µÚ¶þÖÖ³¢ÊÔ£¬°ÑUser.xmlÖÐIDΪgetAllUserµÄSQL¸Ä³É²éѯËùÓмǼ£¬ÕâÑù¿ÉÒÔÈ¡µ½ËùÒԵļǼ¡£ xml ´úÂë - <select id="getAllUser" resultClass="user">
- <!--DATA[€€ </sp-->
- select
- name,
- sex
- from t_user
- ]]>
- select>
ÉÏÃæÖ»ÓÐÌõ¼þ“WHERE name=#name#”¸øÈ¥µôÁË¡£ µ½ÁËÕâÀÎÒÏ룬ÎÊÌâÊDz»ÊdzöÔÚSQLÉÏ£¿Ò»¿ªÊ¼JAVAÄDZߴ«µÝ¹ýÀ´µÄ²ÎÊýÊÇnull,¶øibatis×îÖÕÉú³ÉµÄSQL»¹ÊÇ “select name, sex from t_user WHERE name=null” £¿ ²»¹ý£¬ÒÔǰÔÚJEÉÏÎÞÒâÖп´µ½ÓÐÎÄÕÂ˵IBATIS¿ÉÒÔ×öµ½×Ô¶¯È¡ÉáWHERE×Ó¾äµÄ£¬ÄѵÀÊǼǴíÁË£¬°Ù¶È£¬½á¹û³öÀ´ÁË£¬Òª×öµ½¶¯Ì¬È¡ÉáWHERE×Ӿ䣬User.xmlÖÐÓйØSQLµÄÅäÖÃÓ¦¸ÃÊÇÕâÑù£º xml ´úÂë - <select id="getAllUser" resultClass="user">
- <!--DATA[€€ </sp-->
- select
- name,
- sex
- from t_user
- ]]>
- <dynamic prepend="WHERE">
- <isNotEmpty property="name">name like '%$name$%'isNotEmpty>
- dynamic>
- select>
ÕâÀïÌØÊ⣨ģºý²éѯ£©ÁËÒ»µã£¬Èç¹ûÊǾ«Çвéѯ£¬ÊÇ#¶ø²»ÊÇ$·ûºÅÁË¡£ £½£½£½ ˵˵ÄǸöСÎÊÌ⣺ Èç¹û User.xmlµÄgetAllUserµÄÅäÖÃÊÇ£º xml ´úÂë - <select id="getAllUser" resultClass="user">
- <!--DATA[€€ </sp-->
- select
- name,
- sex
- from t_user WHERE name=#name#
- ]]>
- select>
ÄÇô java ´úÂë - user=sqlMap.queryForList("getAllUser", "ijÌõ¼Ç¼nameµÄÖµ");
java ´úÂë - User user2 = new User();
- user2.setName("ijÌõ¼Ç¼nameµÄÖµ");
- try {
- sqlMap.startTransaction();
- user=sqlMap.queryForList("getAllUser", user2);
- sqlMap.commitTransaction();
- } catch (SQLException e) {
- System.out.println(e.getMessage());
- } finally {
- try {
- sqlMap.endTransaction();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
ÕâÁ½¸ö¶¼¿ÉÒÔÕý³£È¡µ½ÄÇÌõ¼Ç¼¡£ Èç¹ûUser.xmlÊÇ: xml ´úÂë - <select id="getAllUser" resultClass="user">
- <!--DATA[€€ </sp-->
- select
- name,
- sex
- from t_user
- ]]>
- <dynamic prepend="WHERE">
- <isNotEmpty property="name">name = #name#isNotEmpty>
- dynamic>
- select>
£¬Ö»ÄÜ´«µÝUser¶ÔÏó×÷Ϊ²ÎÊýÁË£¬ java ´úÂë - user=sqlMap.queryForList("getAllUser", user2);
·ñÔò±¨´í£º xml ´úÂë - --- The error occurred in com/ctgusec/zhupan/maps/User.xml.
- --- The error occurred while preparing the mapped statement for execution.
- --- Check the getAllUser.
- --- Check the parameter map.
- --- Cause: com.ibatis.common.beans.ProbeException: There is no READABLE property named 'name' in class 'java.lang.String'
- Exception in thread "main" java.lang.NullPointerException
- at com.ctgusec.zhupan.ExampleMain.main(ExampleMain.java:81)
¸Õ½Ó´¥ibatis£¬ÓÐ˵´íµÄµØ·½¿ÒÇëÖ¸Õý. MySQLÊÇ4.1.22°æ±¾¡£ JDK1.6.0_02¡£
java¿ªÔ´ÎĵµÑо¿struts,webwork,spring,tomcat,jboss,lucense,nutch,JUnit,eclipse......,Èç¹ûÄúÓÐʲôÒâ¼û,»¶ÓÆÀÂÛºÍÁôÑÔ. |