• ADADADADAD

    MyBatis-Plus 自定义sql语句[ mysql数据库 ]

    mysql数据库 时间:2024-12-25 09:58:08

    作者:文/会员上传

    简介:

      一、引言  MP自带的条件构造器虽然很强大,有时候也避免不了写稍微复杂一点业务的sql,那么那么今天说说MP怎么自定义sql语句吧。  二、配置  自定义的sql当然是写在X

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

      一、引言

      MP自带的条件构造器虽然很强大,有时候也避免不了写稍微复杂一点业务的sql,那么那么今天说说MP怎么自定义sql语句吧。

      二、配置

      自定义的sql当然是写在XML文件中的啦,那么首先来定义xml文件的位置,在yml配置文件如下

      mybatis-plus:

      # 如果是放在src/main/java目录下 classpath:/com/*/*/mapper/*Mapper.xml

      # 如果是放在resource目录 classpath:/mapper/**.xml

      mapper-locations: classpath:/mapper/**.xml

      三、具体实现

      使用注解实现:

      在我们Mapper接口中定义自定义方法即可。

      /**

      * @Auther: IT贱男

      * @Date: 2019/6/10 14:40

      * @Description: User对象持久层

      */

      public interface UserMapper extends BaseMapper {

      /**

      *

      * 如果自定义的方法还希望能够使用MP提供的Wrapper条件构造器,则需要如下写法

      *

      * @param userWrapper

      * @return

      */

      @Select("SELECT * FROM user ${ew.customSqlSegment}")

      List selectByMyWrapper(@Param(Constants.WRAPPER) Wrapper userWrapper);

      /**

      * 和Mybatis使用方法一致

      * @param name

      * @return

      */

      @Select("SELECT * FROM user where name = #{name}")

      List selectByName(@Param("name") String name);

      }

      使用xml文件实现:

      使用xml一定要指定xml文件所在位置

      /**

      * @Auther: IT贱男

      * @Date: 2019/6/10 14:40

      * @Description: User对象持久层

      */

      public interface UserMapper extends BaseMapper {

      /**

      *

      * 如果自定义的方法还希望能够使用MP提供的Wrapper条件构造器,则需要如下写法

      *无锡妇科医院 http://www.xasgfk.cn/

      * @param userWrapper

      * @return

      */

      List selectByMyWrapper(@Param(Constants.WRAPPER) Wrapper userWrapper);

      /**

      * 和Mybatis使用方法一致

      * @param name

      * @return

      */

      List selectByName(@Param("name") String name);

      }

      SELECT * FROM user where name = #{name}

      SELECT * FROM user ${ew.customSqlSegment}

      测试测试:

      /**

      * 自定义sql查询语句

      */

      @Test

      public void selectByMySelect() {

      List users = userMapper.selectByName("王天风");

      users.forEach(System.out::println);

      }

      /**

      * 自定义sql使用Wrapper

      */

      @Test

      public void selectByMyWrapper() {

      QueryWrapper wrapper = new QueryWrapper();

      wrapper.like("name", "雨").lt("age", 40);

      List users = userMapper.selectByMyWrapper(wrapper);

      users.forEach(System.out::println);

      }


    MyBatis-Plus 自定义sql语句.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mybatisplusbatis