ÀÖÓãµç¾º

  • ½ÌÓýÐÐÒµA¹ÉIPOµÚÒ»¹É£¨¹ÉƱ´úÂë 003032£©

    È«¹ú×Éѯ/ͶËßÈÈÏߣº400-618-4000

    ÈçºÎ²Ù×÷MyBatis¿ò¼Ü²éѯ¿Í»§£¿Óм¸ÖÖ²éѯ·½Ê½£¿

    ¸üÐÂʱ¼ä:2021Äê03ÔÂ22ÈÕ16ʱ39·Ö À´Ô´:ÀÖÓãµç¾º ä¯ÀÀ´ÎÊý:

    ÔÚʵ¼Ê¿ª·¢ÖУ¬²éѯ²Ù×÷ͨ³£¶¼»áÉæ¼°µ½µ¥ÌõÊý¾ÝµÄ¾«È·²éѯ£¬ÒÔ¼°¶àÌõÊý¾ÝµÄÄ£ºý²éѯ¡£ÄÇôʹÓÃMyBatis¿ò¼ÜÊÇÈçºÎ½øÐÐÕâÁ½ÖÖ²éѯµÄÄØ£¿½ÓÏÂÀ´£¬±¾Ð¡½Ú½«½²½âÏÂÈçºÎʹÓÃMyBatis¿ò¼Ü¸ù¾Ý¿Í»§±àºÅ²éѯ¿Í»§ÐÅÏ¢£¬ÒÔ¼°¸ù¾Ý¿Í»§ÃûÄ£ºý²éѯ¿Í»§ÐÅÏ¢¡£

    1£®¸ù¾Ý¿Í»§±àºÅ²éѯ¿Í»§ÐÅÏ¢

    ¸ù¾Ý¿Í»§±àºÅ²éѯ¿Í»§ÐÅÏ¢Ö÷ÒªÊÇͨ¹ý²éѯ¿Í»§±íÖеÄÖ÷¼ü£¨ÕâÀï±íʾΨһµÄ¿Í»§±àºÅ£©À´ÊµÏֵ쬯ä¾ßÌåʵÏÖ²½ÖèÈçÏ£º

    £¨1£©ÔÚMySQLÊý¾Ý¿âÖУ¬´´½¨Ò»¸öÃûΪmybatisµÄÊý¾Ý¿â£¬ÔÚ´ËÊý¾Ý¿âÖд´½¨Ò»¸öt_customer±í£¬Í¬Ê±Ô¤ÏȲåÈ뼸ÌõÊý¾Ý¡£´Ë²Ù×÷ËùÖ´ÐеÄSQLÓï¾äÈçÏÂËùʾ¡£

    # ´´½¨Ò»¸öÃû³ÆÎªmybatisµÄÊý¾Ý¿â
    CREATE DATABASE mybatis;
    # ʹÓÃmybatisÊý¾Ý¿â
    USE mybatis;
    # ´´½¨Ò»¸öÃû³ÆÎªt_customerµÄ±í
    CREATE TABLE t_customer (
        id int(32) PRIMARY KEY AUTO_INCREMENT,
        username varchar(50),
        jobs varchar(50),
        phone varchar(16)
    );
    # ²åÈë3ÌõÊý¾Ý
    INSERT INTO t_customer VALUES ('1', 'joy', 'doctor', '13745874578');
    INSERT INTO t_customer VALUES ('2', 'jack', 'teacher', '13521210112');
    INSERT INTO t_customer VALUES ('3', 'tom', 'worker', '15179405961');

    Íê³ÉÉÏÊö²Ù×÷ºó£¬Êý¾Ý¿ât_customer±íÖеÄÊý¾ÝÈçͼ1Ëùʾ¡£

    ͼ1 t_customer±í

    £¨2£©ÔÚEclipseÖУ¬´´½¨Ò»¸öÃûΪchapter06µÄWebÏîÄ¿£¬½«MyBatisµÄºËÐÄJAR°ü¡¢libĿ¼ÖеÄÒÀÀµJAR°ü£¬ÒÔ¼°MySQLÊý¾Ý¿âµÄÇý¶¯JAR°üһͬÌí¼Óµ½ÏîÄ¿µÄlibĿ¼ÏÂ, ²¢·¢²¼µ½Àà·¾¶ÖС£Ìí¼ÓºóµÄlibĿ¼Èçͼ2Ëùʾ¡£

    ͼ2 MyBatisÏà¹ØJAR

    £¨3£©ÓÉÓÚMyBatisĬÈÏʹÓÃlog4jÊä³öÈÕÖ¾ÐÅÏ¢£¬ËùÒÔÈç¹ûÒª²é¿´¿ØÖÆÌ¨µÄÊä³öSQLÓï¾ä£¬ÄÇô¾ÍÐèÒªÔÚclasspath·¾¶ÏÂÅäÖÃÆäÈÕÖ¾Îļþ¡£ÔÚÏîÄ¿µÄsrcĿ¼Ï´´½¨log4j.propertiesÎļþ£¬±à¼­ºóµÄÄÚÈÝÈçÎļþ1Ëùʾ¡£

    Îļþ1 log4j.properties

    # Global logging configuration
    log4j.rootLogger=ERROR, stdout
    # MyBatis logging configuration...
    log4j.logger.com.itheima=DEBUG
    # Console output...
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

    ÔÚÎļþ1ÖУ¬°üº¬ÁËÈ«¾ÖµÄÈÕÖ¾ÅäÖá¢MyBatisµÄÈÕÖ¾ÅäÖúͿØÖÆÌ¨Êä³ö£¬ÆäÖÐMyBatisµÄÈÕÖ¾ÅäÖÃÓÃÓÚ½«com.itheima°üÏÂËùÓÐÀàµÄÈÕÖ¾¼Ç¼¼¶±ðÉèÖÃΪDEBUG¡£

    ÓÉÓÚlog4jÎļþÖеľßÌåÄÚÈÝÒѾ­³¬³öÁ˱¾Ê鷶Χ£¬ËùÒÔÕâÀï²»¹ý¶à½²½â£¬¶ÁÕß¿É×ÔÐвéÕÒ×ÊÁÏѧϰ¡£ÉÏÊöÅäÖÃÎļþ´úÂëÒ²²»ÐèÒª¶ÁÕßÈ«²¿ÊÖд£¬ÔÚMyBatisʹÓÃÊÖ²áÖеÄLoggingС½Ú£¬¿ÉÒÔÕÒµ½Èçͼ3ËùʾµÄÅäÖÃÐÅÏ¢£¬Ö»Ð轫Æä¸´ÖƵ½ÏîÄ¿µÄlog4jÅäÖÃÎļþÖУ¬²¢¶ÔMyBatisµÄÈÕÖ¾ÅäÖÃÐÅÏ¢½øÐмòµ¥Ð޸ļ´¿ÉʹÓá£

    ͼ3 MyBatisʹÓÃÊÖ²áÖеÄLoggingÅäÖÃ

    £¨4£©ÔÚsrcĿ¼Ï£¬´´½¨Ò»¸öcom.itheima.po°ü£¬ÔڸðüÏ´´½¨³Ö¾Ã»¯ÀàCustomer£¬²¢ÔÚÀàÖÐÉùÃ÷id¡¢username¡¢jobsºÍphoneÊôÐÔ£¬¼°Æä¶ÔÓ¦µÄgetter/setter·½·¨£¬ÈçÎļþ2Ëùʾ¡£

    Îļþ2 Customer.java

         package com.itheima.po;
         /**
          * ¿Í»§³Ö¾Ã»¯Àà
          */
         public class Customer {
             private Integer id;       // Ö÷¼üid
             private String username; // ¿Í»§Ãû³Æ
             private String jobs;      // Ö°Òµ
             private String phone;     // µç»°
             public Integer getId() {
                 return id;
             }
             public void setId(Integer id) {
                 this.id = id;
             }
             public String getUsername() {
                 return username;
             }
             public void setUsername(String username) {
                 this.username = username;
             }
             public String getJobs() {
                 return jobs;
             }
             public void setJobs(String jobs) {
                 this.jobs = jobs;
             }
             public String getPhone() {
                 return phone;
             }
             public void setPhone(String phone) {
                 this.phone = phone;
             }
             @Override
             public String toString() {
                 return "Customer [id=" + id + ", username=" + username + 
                                ", jobs=" + jobs + ", phone=" + phone + "]";
             }
         }

    ´ÓÉÏÊö´úÂë¿ÉÒÔ¿´³ö£¬³Ö¾Ã»¯ÀàCustomerÓëÆÕͨµÄJavaBean²¢Ã»ÓÐÊ²Ã´Çø±ð£¬Ö»ÊÇÆäÊôÐÔ×Ö¶ÎÓëÊý¾Ý¿âÖеıí×Ö¶ÎÏà¶ÔÓ¦¡£Êµ¼ÊÉÏ£¬Customer¾ÍÊÇÒ»¸öPOJO£¨ÆÕͨJava¶ÔÏ󣩣¬MyBatis¾ÍÊDzÉÓÃPOJO×÷Ϊ³Ö¾Ã»¯ÀàÀ´Íê³É¶ÔÊý¾Ý¿â²Ù×÷µÄ¡£

    £¨5£©ÔÚsrcĿ¼Ï£¬´´½¨Ò»¸öcom.itheima.mapper°ü£¬²¢ÔÚ°üÖд´½¨Ó³ÉäÎļþCustomerMapper.xml£¬±à¼­ºóÈçÎļþ3Ëùʾ¡£

    Îļþ3 CustomerMapper.xml

         <?xml version="1.0" encoding="UTF-8"?>
         <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
         <!-- namespace±íʾÃüÃû¿Õ¼ä -->
         <mapper namespace="com.itheima.mapper.CustomerMapper">
             <!--¸ù¾Ý¿Í»§±àºÅ»ñÈ¡¿Í»§ÐÅÏ¢ -->
             <select id="findCustomerById" parameterType="Integer"
                 resultType="com.itheima.po.Customer">
                 select * from t_customer where id = #{id}
             </select>
         </mapper>

    ÔÚÎļþ3ÖУ¬µÚ2~3ÐÐÊÇMyBatisµÄÔ¼ÊøÅäÖ㬵Ú5~11ÐÐÊÇÐèÒª³ÌÐòÔ±±àдµÄÓ³ÉäÐÅÏ¢¡£ÆäÖУ¬<mapper>ÔªËØÊÇÅäÖÃÎļþµÄ¸ùÔªËØ£¬Ëü°üº¬Ò»¸önamespaceÊôÐÔ£¬¸ÃÊôÐÔΪÕâ¸ö<mapper>Ö¸¶¨ÁËΨһµÄÃüÃû¿Õ¼ä£¬Í¨³£»áÉèÖóɓ°üÃû+SQLÓ³ÉäÎļþÃû”µÄÐÎʽ¡£×ÓÔªËØ<select>ÖеÄÐÅÏ¢ÊÇÓÃÓÚÖ´Ðвéѯ²Ù×÷µÄÅäÖã¬ÆäidÊôÐÔÊÇ<select>ÔªËØÔÚÓ³ÉäÎļþÖеÄΨһ±êʶ£»parameterTypeÊôÐÔÓÃÓÚÖ¸¶¨´«Èë²ÎÊýµÄÀàÐÍ£¬ÕâÀï±íʾ´«µÝ¸øÖ´ÐÐSQLµÄÊÇÒ»¸öIntegerÀàÐ͵IJÎÊý£»resultTypeÊôÐÔÓÃÓÚÖ¸¶¨·µ»Ø½á¹ûµÄÀàÐÍ£¬ÕâÀï±íʾ·µ»ØµÄÊý¾ÝÊÇCustomerÀàÐÍ¡£ÔÚ¶¨ÒåµÄ²éѯSQLÓï¾äÖУ¬“#{}”ÓÃÀ´±íʾһ¸öռλ·û£¬Ï൱ÓÚ“?”£¬¶ø“#{id}”±íʾ¸Ãռλ·û´ý½ÓÊÕ²ÎÊýµÄÃû³ÆÎªid¡£

    ¶àѧһÕУº ¿ìËÙ»ñÈ¡ÅäÖÃÎļþµÄÔ¼ÊøÐÅÏ¢

    ÔÚMyBatisµÄÓ³ÉäÎļþÖУ¬°üº¬ÁËÒ»Ð©Ô¼ÊøÐÅÏ¢£¬³õѧÕßÈç¹û×Ô¼º¶¯ÊÖÈ¥±àд£¬²»µ«ÀË·Ñʱ¼ä£¬»¹ÈÝÒ׳ö´í¡£Æäʵ£¬ÔÚMyBatisʹÓÃÊÖ²áÖУ¬¾Í¿ÉÒÔÕÒµ½ÕâÐ©Ô¼ÊøÐÅÏ¢£¬¾ßÌåµÄ»ñÈ¡·½·¨ÈçÏ£º

    ´ò¿ªMyBatisµÄʹÓÃÊÖ²ámybatis-3.4.2.pdf£¬ÔÚµÚ2С½ÚGetting started£¨ÈëÃÅÖ¸ÄÏ£©ÏµÄ2.1.5С½ÚExploring Mapped SQL StatementsÖУ¬¼´¿ÉÕÒµ½Ó³ÉäÎļþµÄÔ¼ÊøÐÅÏ¢¡£Èçͼ4Ëùʾ¡£

    ͼ4 Ó³ÉäÎļþµÄÔ¼ÊøÐÅÏ¢

    ÔÚͼ4ÖУ¬·½¿ò´¦±ê×¢µÄÎļþÐÅÏ¢¾ÍÊÇMyBatisÓ³ÉäÎļþµÄÔ¼ÊøÐÅÏ¢¡£³õѧÕßÖ»Ð轫ÐÅÏ¢¸´ÖƵ½ÏîÄ¿´´½¨µÄXMLÎļþÖм´¿É¡£

    £¨6£©ÔÚsrcĿ¼Ï£¬´´½¨MyBatisµÄºËÐÄÅäÖÃÎļþmybatis-config.xml£¬±à¼­ºóÈçÎļþ4Ëùʾ¡£

    Îļþ4 mybatis-config.xml

         <?xml version="1.0" encoding="UTF-8" ?>
         <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
             "http://mybatis.org/dtd/mybatis-3-config.dtd">
         <configuration>
            <!--1.ÅäÖû·¾³ £¬Ä¬ÈϵĻ·¾³idΪmysql-->
             <environments default="mysql">
                 <!--1.2.ÅäÖÃidΪmysqlµÄÊý¾Ý¿â»·¾³ -->
                 <environment id="mysql">
                     <!-- ʹÓÃJDBCµÄÊÂÎñ¹ÜÀí -->
                     <transactionManager type="JDBC" />
                     <!--Êý¾Ý¿âÁ¬½Ó³Ø -->
                     <dataSource type="POOLED">
                       <property name="driver" value="com.mysql.jdbc.Driver" />
                       <property name="url" 
                                     value="jdbc:mysql://localhost:3306/mybatis" />
                       <property name="username" value="root" />
                       <property name="password" value="root" />
                     </dataSource>
                 </environment>
             </environments>
             <!--2.ÅäÖÃMapperµÄλÖà -->
             <mappers>
                 <mapper resource="com/itheima/mapper/CustomerMapper.xml" />
             </mappers>
         </configuration>

    ÔÚÎļþ4ÖУ¬µÚ2~3ÐÐÊÇMyBatisµÄÅäÖÃÎļþµÄÔ¼ÊøÐÅÏ¢£¬ÏÂÃæ<configuration>ÔªËØÖеÄÄÚÈݾÍÊÇ¿ª·¢ÈËÔ±ÐèÒª±àдµÄÅäÖÃÐÅÏ¢¡£ÕâÀï°´ÕÕ<configuration>×ÓÔªËØµÄ¹¦Äܲ»Í¬£¬½«ÅäÖ÷ÖΪÁËÁ½¸ö²½Ö裺µÚ1²½ÅäÖÃÁË»·¾³£¬µÚ2²½ÅäÖÃÁËMapperµÄλÖ᣹ØÓÚÉÏÊö´úÂëÖи÷¸öÔªËØµÄÏêϸÅäÖÃÐÅÏ¢½«ÔÚÏÂÒ»Õ½øÐÐÏêϸ½²½â£¬´Ë°¸ÀýÖжÁÕßÖ»ÐèÒª°´ÕÕÉÏÊö´úÂëÅäÖü´¿É¡£

    СÌáʾ£º

    ÉÏÊöÅäÖÃÎļþͬÑù²»ÐèÒª¶ÁÕßÍêÈ«ÊÖ¶¯±àд¡£ÔÚMyBatisʹÓÃÊÖ²ámybatis-3.4.2.pdfµÄ2.1.2С½ÚÖУ¬ÒѾ­¸ø³öÁËÅäÖÃÄ£°å£¨°üº¬Ô¼ÊøÐÅÏ¢£©£¬¶ÁÕßÖ»ÐèÒª¸´ÖƹýÀ´£¬ÒÀÕÕ×Ô¼ºµÄÏîÄ¿ÐèÇóÐ޸ļ´¿É¡£

    £¨7£©ÔÚsrcĿ¼Ï£¬´´½¨Ò»¸öcom.itheima.test°ü£¬ÔڸðüÏ´´½¨²âÊÔÀàMybatisTest£¬²¢ÔÚÀàÖбàд²âÊÔ·½·¨findCustomerByIdTest()£¬ÈçÎļþ5Ëùʾ¡£

    Îļþ5 MybatisTest.java

         package com.itheima.test;
         import java.io.InputStream;
         import org.apache.ibatis.io.Resources;
         import org.apache.ibatis.session.SqlSession;
         import org.apache.ibatis.session.SqlSessionFactory;
         import org.apache.ibatis.session.SqlSessionFactoryBuilder;
         import org.junit.Test;
         import com.itheima.po.Customer;
         /**
          * ÈëÃųÌÐò²âÊÔÀà
          */
         public class MybatisTest {
             /**
              * ¸ù¾Ý¿Í»§±àºÅ²éѯ¿Í»§ÐÅÏ¢
              */
             @Test
             public void findCustomerByIdTest() throws Exception {
                 // 1¡¢¶ÁÈ¡ÅäÖÃÎļþ
                 String resource = "mybatis-config.xml";
                 InputStream inputStream = 
                              Resources.getResourceAsStream(resource);
                 // 2¡¢¸ù¾ÝÅäÖÃÎļþ¹¹½¨SqlSessionFactory
                 SqlSessionFactory sqlSessionFactory = 
                              new SqlSessionFactoryBuilder().build(inputStream);
                 // 3¡¢Í¨¹ýSqlSessionFactory´´½¨SqlSession
                 SqlSession sqlSession = sqlSessionFactory.openSession();
                 // 4¡¢SqlSessionÖ´ÐÐÓ³ÉäÎļþÖж¨ÒåµÄSQL£¬²¢·µ»ØÓ³Éä½á¹û
                 Customer customer = sqlSession.selectOne("com.itheima.mapper"
                           + ".CustomerMapper.findCustomerById", 1);
                 // ´òÓ¡Êä³ö½á¹û
                 System.out.println(customer.toString());
                 // 5¡¢¹Ø±ÕSqlSession
                 sqlSession.close();
             }
         }

    ÔÚÎļþ5µÄfindCustomerByIdTest()·½·¨ÖУ¬Ê×ÏÈͨ¹ýÊäÈëÁ÷¶ÁÈ¡ÁËÅäÖÃÎļþ£¬È»ºó¸ù¾ÝÅäÖÃÎļþ¹¹½¨ÁËSqlSessionFactory¶ÔÏó¡£½ÓÏÂÀ´Í¨¹ýSqlSessionFactory¶ÔÏóÓÖ´´½¨ÁËSqlSession¶ÔÏ󣬲¢Í¨¹ýSqlSession¶ÔÏóµÄselectOne()·½·¨Ö´Ðвéѯ²Ù×÷¡£selectOne()·½·¨µÄµÚ1¸ö²ÎÊý±íʾӳÉäSQLµÄ±êʶ×Ö·û´®£¬ËüÓÉCustomerMapper.xmlÖÐ<mapper>ÔªËØµÄnamespaceÊôÐÔÖµ+<select>ÔªËØµÄidÊôÐÔÖµ×é³É£»µÚ2¸ö²ÎÊý±íʾ²éѯËùÐèµÄ²ÎÊý£¬ÕâÀï²éѯµÄÊǿͻ§±íÖÐidΪ1µÄ¿Í»§¡£ÎªÁ˲鿴²éѯ½á¹û£¬ÕâÀïʹÓÃÁËÊä³öÓï¾äÊä³ö²éѯ½á¹ûÐÅÏ¢¡£×îºó£¬³ÌÐòÖ´ÐÐÍê±Ïʱ£¬¹Ø±ÕÁËSqlSession¡£

    ʹÓÃJUnit4²âÊÔÖ´ÐÐfindCustomerByIdTest()·½·¨ºó£¬¿ØÖÆÌ¨µÄÊä³ö½á¹ûÈçͼ5Ëùʾ¡£

    ͼ5 ÔËÐнá¹û

    ´Óͼ5¿ÉÒÔ¿´³ö£¬Ê¹ÓÃMyBatis¿ò¼ÜÒѾ­³É¹¦²éѯ³öÁËidΪ1µÄ¿Í»§ÐÅÏ¢¡£

    2£®¸ù¾Ý¿Í»§ÃûÄ£ºý²éѯ¿Í»§ÐÅÏ¢

    Á˽âÁËÈçºÎʹÓÃMyBatis¸ù¾Ý¿Í»§±àºÅ²éѯ¿Í»§ÐÅÏ¢ºó£¬½ÓÏÂÀ´½²½âÏÂÈçºÎ¸ù¾Ý¿Í»§µÄÃû³ÆÀ´Ä£ºý²éѯÏà¹ØµÄ¿Í»§ÐÅÏ¢¡£

    Ä£ºý²éѯµÄʵÏַdz£¼òµ¥£¬Ö»ÐèÔÚÓ³ÉäÎļþÖÐͨ¹ý<select>ÔªËØ±àдÏàÓ¦µÄSQLÓï¾ä£¬²¢Í¨¹ýsqlSessionµÄ²éѯ·½·¨Ö´ÐиÃSQL¼´¿É¡£Æä¾ßÌåʵÏÖ²½ÖèÈçÏ£º

    £¨1£©ÔÚÓ³ÉäÎļþCustomerMapper.xmlÖУ¬Ìí¼Ó¸ù¾Ý¿Í»§ÃûÄ£ºý²éѯ¿Í»§ÐÅÏ¢ÁбíµÄSQLÓï¾ä£¬¾ßÌåʵÏÖ´úÂëÈçÏ¡£

    <!--¸ù¾Ý¿Í»§ÃûÄ£ºý²éѯ¿Í»§ÐÅÏ¢Áбí-->
    <select id="findCustomerByName" parameterType="String"
        resultType="com.itheima.po.Customer">
        select * from t_customer where username like '%${value}%'
    </select>

    Óë¸ù¾Ý¿Í»§±àºÅ²éѯÏà±È£¬ÉÏÊöÅäÖôúÂëÖеÄÊôÐÔid¡¢parameterTypeºÍSQLÓï¾ä¶¼·¢ÉúÏàÓ¦±ä»¯¡£ÆäÖУ¬SQLÓï¾äÖеē${}”ÓÃÀ´±íʾƴ½ÓSQLµÄ×Ö·û´®£¬¼´²»¼Ó½âÊ͵ÄÔ­ÑùÊä³ö¡£“${value}”±íʾҪƴ½ÓµÄÊǼòµ¥ÀàÐͲÎÊý¡£

    ½ÅÏÂÁôÐÄ£º·ÀÖ¹SQL×¢Èë

    ÔÚʹÓÓ${}”½øÐÐSQL×Ö·û´®Æ´½Óʱ£¬ÎÞ·¨·ÀÖ¹SQL×¢ÈëÎÊÌâ¡£ËùÒÔÏëÒª¼ÈÄÜʵÏÖÄ£ºý²éѯ£¬ÓÖÒª·ÀÖ¹SQL×¢È룬¿ÉÒÔ¶ÔÉÏÊöÓ³ÉäÎļþCustomerMapper.xmlÖÐÄ£ºý²éѯµÄselectÓï¾ä½øÐÐÐ޸ģ¬Ê¹ÓÃMySQLÖеÄconcat()º¯Êý½øÐÐ×Ö·û´®Æ´½Ó¡£¾ßÌåÐÞ¸ÄʾÀýÈçÏÂËùʾ¡£

    select * from t_customer where username like concat('%',#{value},'%')

    £¨2£©ÔÚ²âÊÔÀàMybatisTestÖУ¬Ìí¼ÓÒ»¸ö²âÊÔ·½·¨findCustomerByNameTest()£¬Æä´úÂëÈçÏÂËùʾ¡£

    /**
     * ¸ù¾ÝÓû§Ãû³ÆÀ´Ä£ºý²éѯÓû§ÐÅÏ¢Áбí
     */
    @Test
    public void findCustomerByNameTest() throws Exception{    
        // 1¡¢¶ÁÈ¡ÅäÖÃÎļþ
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        // 2¡¢¸ù¾ÝÅäÖÃÎļþ¹¹½¨SqlSessionFactory
        SqlSessionFactory sqlSessionFactory = 
    new SqlSessionFactoryBuilder().build(inputStream);
        // 3¡¢Í¨¹ýSqlSessionFactory´´½¨SqlSession
        SqlSession sqlSession = sqlSessionFactory.openSession();
        // 4¡¢SqlSessionÖ´ÐÐÓ³ÉäÎļþÖж¨ÒåµÄSQL£¬²¢·µ»ØÓ³Éä½á¹û
        List<Customer> customers = sqlSession.selectList("com.itheima.mapper"
                    + ".CustomerMapper.findCustomerByName", "j");
        for (Customer customer : customers) {
            //´òÓ¡Êä³ö½á¹û¼¯
            System.out.println(customer);
        }
        // 5¡¢¹Ø±ÕSqlSession
        sqlSession.close();
    }

    ´ÓÉÏÊö´úÂë¿ÉÒÔ¿´³ö£¬findCustomerByNameTest()·½·¨Ö»ÊÇÔÚµÚ4²½Ê±Óë¸ù¾Ý¿Í»§±àºÅ²éѯµÄ²âÊÔ·½·¨ÓÐËù²»Í¬£¬ÆäËû²½Öè¶¼Ò»Ö¡£ÔÚµÚ4²½Ê±£¬ÓÉÓÚ¿ÉÄܲéѯ³öµÄÊǶàÌõÊý¾Ý£¬ËùÒÔµ÷ÓõÄÊÇSqlSessionµÄselectList()·½·¨À´²éѯ·µ»Ø½á¹ûµÄ¼¯ºÏ¶ÔÏ󣬲¢Ê¹ÓÃforÑ­»·Êä³ö½á¹û¼¯¶ÔÏó¡£

    ʹÓÃJUnit4Ö´ÐÐfindCustomerByNameTest()·½·¨ºó£¬¿ØÖÆÌ¨µÄÊä³ö½á¹ûÈçͼ6Ëùʾ¡£

    ͼ6 ÔËÐнá¹û

    ´Óͼ6¿ÉÒÔ¿´³ö£¬Ê¹ÓÃMyBatis¿ò¼ÜÒѳɹ¦²éѯ³öÁ˿ͻ§±íÖпͻ§Ãû³ÆÖдøÓГj”µÄ2Ìõ¿Í»§ÐÅÏ¢¡£

    ÖÁ´Ë£¬MyBatisÈëÃųÌÐòµÄ²éѯ¹¦ÄܾÍÒѾ­½²½âÍê³É¡£´ÓÉÏÃæÁ½¸ö²éѯ·½·¨ÖпÉÒÔ·¢ÏÖ£¬MyBatisµÄ²Ù×÷´óÖ¿ɷÖΪÒÔϼ¸¸ö²½Ö裺

    1) ¶ÁÈ¡ÅäÖÃÎļþ¡£

    2) ¸ù¾ÝÅäÖÃÎļþ¹¹½¨SqlSessionFactory¡£

    3) ͨ¹ýSqlSessionFactory´´½¨SqlSession¡£

    4) ʹÓÃSqlSession¶ÔÏó²Ù×÷Êý¾Ý¿â£¨°üÀ¨²éѯ¡¢Ìí¼Ó¡¢Ð޸ġ¢É¾³ý£¬ÒÔ¼°Ìá½»ÊÂÎñµÈ£©¡£

    5) ¹Ø±ÕSqlSession¡£




    ²ÂÄãϲ»¶£º

    MybatisÔ­Àí½éÉÜ£ºMyBatisÈçºÎ²Ù×÷Êý¾Ý¿â£¿

    Spring BootÖÐʹÓÃMyBatis×¢½âÅäÖÃÏê½â

    MybatisÖ´ÐÐSQLÃüÁîÊÇÔõôʵÏֵģ¿

    MyBatisÖÐʹÓÃ#ºÍ$ÓÐÊ²Ã´Çø±ð£¿

    ÀÖÓãµç¾ºJavaÅàѵ°à

    0 ·ÖÏíµ½£º
    ºÍÎÒÃÇÔÚÏß½»Ì¸£¡
    ¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿