78mÍþ¾Å¹ú¼Ê

ËÑË÷ º£±¨ÐÂÎÅ ÈÚýÌå¾ØÕó
  • ɽ¶«ÊÖ»ú±¨

  • º£±¨ÐÂÎÅ

  • ¹«¹²Íø¹Ù·½Î¢ÐÅ

  • ¹«¹²Íø¹Ù·½Î¢²©

  • ¶¶Òô

  • ÈËÃñºÅ

  • È«¹úµ³Ã½Æ½Ì¨

  • ÑëÊÓƵ

  • °Ù¼ÒºÅ

  • ¿ìÊÖ

  • Í·ÌõºÅ

  • ßÙÁ¨ßÙÁ¨

Ê×Ò³ >ÐÂÎÅ >ÐÂÎÅ

ÖÐɽÄÏÍ·ÕòÄÄÓÐСÏï×ÓÂô£¬ÖÐɽÄÏÍ·Êг¡ÄÄÀïÓм¦

2025-02-21 12:20:20
À´Ô´£º

ÉîÛÚÐÂÎÅÍø

×÷Õߣº

¸êçâÃ÷

ÊÖ»ú¼ì²ì

appearance²å¼þÊÇÒ»¸öÓÃÓÚMybatisµÄ¹¤¾ß¿â£¬Ö¼ÔÚÌáÉý¿ª·¢ÕßµÄÊÂÇéЧÂʺʹúÂë¿Éά»¤ÐÔ ¡£Ëüͨ¹ýÌṩһϵÁÐÔöÇ¿¹¦Ð§£¬¼ò»¯ÁËCRUD²Ù×÷£¬¼õÉÙÁËÖظ´´úÂ룬ʹµÃʹÓÃMybatis±äµÃÔ½·¢¸ßЧºÍÓä¿ì ¡£

×°ÖÃÓëÅäÖÃ

Òª¿ªÊ¼Ê¹ÓÃappearance²å¼þ£¬Ê×ÏÈÐèÒª½«ÆäÌí¼Óµ½ÏîÄ¿µÄÒÀÀµÖÐ ¡£¹ØÓÚMavenÏîÄ¿£¬ÔÚpom.xmlÖÐÌí¼ÓÒÔÏÂÒÀÀµ£º

<dependency>
    <groupId>com.github.jayee</groupId>
    <artifactId>mybatis-appearance</artifactId>
    <version>${appearance.version}</version>
</dependency>

ÅäÖÃMybatisµÄXMLConfigBuilder»òAnnotationSqlSessionFactoryBuilder£¬×¢²áappearance²å¼þ£º

plugins {
    add(new AppearancePlugin());
}

½¹µã¹¦Ð§

appearance²å¼þµÄ¹¦Ð§Ö÷ÒªÌåÏÖÔÚÒÔϼ¸¸ö·½Ã棺

1. ×Ô¶¯Éú³ÉSQLÓï¾ä

¸Ã²å¼þÄܹ»Æ¾¾ÝʵÌåÀàµÄ×Ö¶Î×Ô¶¯Éú³É»ù´¡µÄCRUD SQLÓï¾ä ¡£ÀýÈ磬¹ØÓÚÒ»¸öUserʵÌåÀ࣬¿ÉÒÔͨ¹ýÒÔÏ·½·¨¿ìËÙÉú³É²åÈëÓï¾ä£º

@InsertProvider(type = UserDao.class, method = "insertUser")
public interface UserDao extends BaseMapper<User> {
    String INSERT_USER = "insert into t_user ...";
}

ͨ¹ýappearance£¬INSERT_USERÓï¾ä¿ÉÒÔ×Ô¶¯Éú³É£¬¼õÉÙÊÖ¶¯±àдSQLµÄÊÂÇéÁ¿ ¡£

2. ÔöÇ¿CRUD²Ù×÷

appearance²å¼þ»¹Ìṩ¶ÔCRUD²Ù×÷µÄÔöÇ¿Ö§³Ö£¬°üÀ¨·ÖÒ³ÅÌÎÊ¡¢Ìõ¼þ½á¹¹Æ÷µÈ ¡£ÀýÈ磬ÔÚÅÌÎÊÓû§Ê±£¬¿ÉÒÔͨ¹ý¶¯Ì¬Ìõ¼þ¹¹½¨Æ÷À´Áé»îµØÌí¼ÓÅÌÎÊÌõ¼þ£º

UserQuery query = new UserQuery().setUsername("test")
                                   .setAgeGreaterThan(18);
List<User> users = userDao.selectByQuery(query);

ÕâÖÖ·½·¨±È¹Å°åµÄ@Where×¢½âÔ½·¢Áé»îºÍÇ¿´ó ¡£

3. Ìṩ¸»ºñµÄÀ¹½ØÆ÷

appearance²å¼þÄÚÖÃÁËÐí¶àÓÐÓõÄÀ¹½ØÆ÷£¬ÓÃÓÚ´¦ÀíÊÂÎñ¡¢ÈÕÖ¾¼Í¼¡¢ÐÔÄܼà¿ØµÈ¹¦Ð§ ¡£ÀýÈ磬ÆôÓÃÐÔÄܼà¿ØÀ¹½ØÆ÷£º

interceptors.add(new PerformanceInterceptor());

Õâ¿ÉÒÔ×ÊÖú¿ª·¢Õß¼à¿ØSQLÖ´ÐÐʱ¼ä£¬ÓÅ»¯Êý¾Ý¿âÐÔÄÜ ¡£

4. Áé»îµÄÀ©Õ¹ÐÔ

appearance²å¼þµÄÉè¼ÆºÜÊÇÁé»î£¬ÔÊÐí¿ª·¢Õßƾ¾ÝÐèÒª×Ô½ç˵²å¼þÐÐΪ ¡£Í¨¹ýÀ©Õ¹AbstractPluginÀ࣬¿ÉÒÔʵÏÖ×Ô½ç˵²å¼þ£¬Âú×ãÌض¨ÒµÎñÐèÇó ¡£

ʹÓÃʾÀý

ÒÔÏÂÊÇÒ»¸öʹÓÃappearance²å¼þµÄÍêÕûʾÀý£º

  1. ½ç˵ʵÌåÀࣺ
@TableName("t_user")
public class User {
    @TableId
    private Long id;
    private String username;
    private Integer age;
    // getters and setters
}
  1. ´´Á¢Mapper½Ó¿Ú£º
@Mapper
public interface UserDao extends BaseMapper<User> {
}
  1. ÔÚÅäÖÃÎļþÖÐÆôÓÃappearance²å¼þ£º
<mappers>
    <mapper resource="UserDao.xml"/>
</mappers>
<plugins>
    <plugin type="com.github.jayee.mybatis.appearance.plugin.AppearancePlugin"/>
</plugins>
  1. ʹÓÃMapper½øÐвÙ×÷£º
@Autowired
private UserDao userDao;

public void test() {
    User user = new User();
    user.setUsername("test");
    user.setAge(20);
    userDao.insert(user);
}

×ܽá

appearance²å¼þͨ¹ýÌṩ×Ô¶¯»¯µÄSQLÉú³É¡¢ÔöÇ¿µÄCRUD²Ù×÷ºÍÁé»îµÄ²å¼þ»úÖÆ£¬ÏÔÖøÌáÉýÁËMybatisµÄʹÓÃÌåÑé ¡£Ëü¼õÉÙÁËÖظ´´úÂ룬Ìá¸ßÁË¿ª·¢Ð§ÂÊ£¬Í¬Ê±ÌṩÁ˸»ºñµÄ¹¦Ð§À©Õ¹ÄÜÁ¦ ¡£Èç¹ûÄúÕýÔÚÑ°ÕÒÒ»¸öÄܹ»¼ò»¯Mybatis¿ª·¢µÄ¹¤¾ß£¬appearanceÎÞÒÉÊÇÒ»¸öÖµµÃʵÑéµÄÓÅÐãÑ¡Ôñ ¡£

²å¼þ¿ª·¢ #MybatisÔöÇ¿ #appearance²å¼þ #Spring Boot¼¯³É #×Ô¶¯»¯´úÂëÉú³É

±êÇ©£ºÒø´¨300ÔªËÄСʱЧÀÍÈ˵½¸¶¿î ͬ³ÇвèɨÂë

Ôð±à£º¿Üº­Ñã

ÉóºË£ºÊÙѦ

ÉòÑôÌú·ÃÅ¿ÚÔõôÕÒÃÃÃà ʯ¼ÒׯÔ£»ªÍò´ï¹«Ô¢Å®
Ïà¹ØÍƼö »»Ò»»»

Copyright (C) 2001-   dzwww.com. All Rights Reserved

ÐÂÎÅÐÅϢЧÀÍÐí¿ÉÖ¤ - ÒôÏñÖÆÆ·³öÊéÐí¿ÉÖ¤ - ¹ã²¥µçÊÓ½ÚÄ¿ÖÆ×÷¾­ÓªÐí¿ÉÖ¤ - ÍøÂçÊÓÌýÐí¿ÉÖ¤ - ÍøÂçÎÄ»¯¾­ÓªÐí¿ÉÖ¤

ɽ¶«Ê¡»¥ÁªÍø´«Ã½¼¯ÍÅÖ÷°ì  ÁªÏµµç»°£º**2  Î¥·¨²»Á¼ÐÅÏ¢¾Ù±¨µç»°£º**0

³ICP±¸09023866ºÅ-1   ³¹«Íø°²±¸ 37010202000111ºÅ

Copyright (C) 2001- Dzwww   ³ICP±¸09023866ºÅ-1

ÍøÕ¾µØͼ