java自定义sql查询插件,mybatis plus之自定义SQL查询

注解查询

public interface UserMapper extends BaseMapper {

@Select("select * from user ${ew.customSqlSegment}")

List selectAll(@Param(Constants.WRAPPER) Wrapper wrapper);

}

使用XML查询

maven 资源

默认只有resources 中的文件最终会解析到target/classes中。

如果我们想要把src/main/java中的文件也被复制到target/classes中

src/main/resources

src/main/java

**/*.xml

**/*.yaml

或者使用maven插件maven-resources-plugin

maven-resources-plugin

2.5

copy-xmls

process-sources

copy-resources

${basedir}/target/classes

${basedir}/src/main/java

**/*.xml

配置XML

配置mapper路径

在application.properties配置mapper路径

mybatis-plus.mapper-locations=classpath:*/*Mapper.xml

编写XML文件

注意: xml文件名和Mapper的文件名必须保持一致。比如userMapper,必须对应着UserMapper.xml否则就会找不到对应绑定

select * from user ${ew.customSqlSegment}

最后别忘记了配置MaperScan注解

@SpringBootApplication

@MapperScan("com.dankun.samples.quickstart.mapper")

public class Application {

public static void main(String[] args) {

SpringApplication.run(QuickStartApplication.class, args);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis Plus 是一个功能强大的持久层解决方案,它内置了许多实用的件,其中包括分页件。分页件可以方便地进行数据分页查询操作,提高了查询效率和系统性能。 但是,在某些情况下,我们可能需要做一些自定义SQL 查询操作,例如多表关联查询、复杂的条件判断等。这时,我们可以通过自定义 SQL 来实现这些复杂的查询需求。 在 MyBatis Plus 中,自定义 SQL 有多种方式可以实现。常见的方式有以下几种: 1. 使用注解 @SelectProvider: 我们可以通过在 DAO 接口的方法上添加 @SelectProvider 注解来指定自定义 SQL 的提供者类,然后在提供者类中编写 SQL 语句。这样,在执行对应的方法时,就会执行自定义 SQL 语句。 2. XML配置文件配置 mapper: 另一种方式是在 MyBatis 的 XML 配置文件中编写自定义 SQL 语句,并在对应的 mapper 中配置对应的 SQL 语句的 ID 和 SQL 代码。然后,在 DAO 接口中通过 @Select 注解指定对应的 SQL 语句的 ID,就可以执行自定义 SQL 了。 无论使用哪种方式,我们需要熟悉 MyBatisSQL 语法,并了解数据库的表结构和关系,才能编写出正确的自定义 SQL 语句。 总结起来,MyBatis Plus 分页件确实非常方便,但在某些情况下需要进行自定义SQL查询操作时,我们可以通过使用注解 @SelectProvider 或者在 XML 配置文件中配置 mapper 来实现自定义 SQL 的需求。这样可以满足我们对于复杂查询需求的要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值