`
riva
  • 浏览: 9552 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

mybatis 注解中使用 in list 参数查询的写法

阅读更多

很多情况下,一个简单的固定参数查询,在mybatis中单独去写xml解决这个问题就有点小题大作了。替代方法是使用注解,直接在dao中写接口方法即可。本着精简的原则写一个示意给大家看


写道
/**
* 订单总金额
* @param billId
* @return
*/
@Select("select sum(price) from s_bill_detail where bill_id = #{billId}")
BigDecimal getBillCharge(@Param("billId") String billId);

 

 

如果参数是一个集合类型,示例如下,主要方式是在原有SQL外包一层<script></script> 然后其中就可以按xml中的写法随意写了。

 

写道
/**
* 判断传入的素材编号中有哪些存在历史报价
* @param resIds
*/
@Select("<script>" +
                     "select\n" +
                       " distinct\n" +
                       " d.res_id\n" +
                 "from\n" +
                        " s_bill_detail d\n" +
                   "where\n" +
                      " d.confirm_time >= DATE_SUB(NOW() , INTERVAL 6 month)\n" +
                     " and d.res_id in" +
                            "<foreach collection='resIds' item='item' open='(' separator=',' close=')'>" +
                                  "#{item} "+
                           "</foreach>" +
                "</script>")
List<String> getPriceQuotedResIdsByResIds(@Param("resIds") List<String> resIds);

 

 

相信大家能举一反三,写个动态查询也没有问题了吧

 

分享到:
评论

相关推荐

    详解Mybatis注解写法(附10余个常用例子)

    XML 配置是通过编写 XML 文件来配置数据库的映射关系,而注解配置则是通过在 Java 代码中使用注解来配置数据库的映射关系。本文将详细介绍 Mybatis 的注解写法,并提供 10 余个常用的示例代码。 Mybatis 注解写法的...

    详解MyBatis 常用写法

    MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(PlainOld Java Objects,普通的Java对象)映射成数据库中的记录。 1. foreach循环 在MyBatis中,foreach元素的属性主要有item、index...

    Mybatis批量插入更新xml方式和注解方式的方法实例

    在上面的示例中,我们使用了`@Insert`注解来定义一个批量插入语句,该语句将批量插入数据到`t_device_policy`表中。`foreach`元素用来遍历List集合,并将每个元素的属性值插入到数据库中。 Mybatis批量更新xml方式 ...

    mybatis-plus快速入门手册,包含源代码样例Demo以及数据库源文件,带你快速上手CRUD,项目中不求人!

    基于 MyBatis 的物理分页,只需简单配置,即可实现分页查询,与普通 List 查询写法一致。 10. **多数据库支持**: 分页插件兼容多种数据库,如 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、PostgreSQL、SQL ...

    mybatis postgresql 批量删除操作方法

    在 Dao 层,我们使用 MyBatis 的 @Delete 注解来实现批量删除操作: ```java @Delete("&lt;script&gt;" + "delete from file_info f USING resource_info k WHERE f.id = k.file_id and k.id in " + " ...

    详解Mybatis通用Mapper介绍与使用

    5. 编写 Service 层:在 Service 层中使用通用Mapper,例如:@Service public class TestService { @Autowired private TestMapper testMapper; public List&lt;TestEntity&gt; getAll() { return testMapper.selectAll();...

    JAVA JAP分页写法大全

    在Java编程语言中,"JAP分页"通常指的是Java应用程序中的分页查询技术,用于在大量数据中实现高效的检索和展示。这个压缩包文件名"JAVA JAP分页写法大全"暗示了它可能包含各种不同的分页实现示例,这对于初学者来说...

    MiniDao-pe使用指南

    在这个例子中,`@MiniDao` 注解用于标记这是一个持久层接口,而 `@Arguments` 注解则用来指定方法参数。开发者只需要定义这样的接口,并提供相应的 SQL 语句,MiniDao-PE 将自动为这个接口生成实现类。 #### 四、...

    HibernateDAO的写法

    在实际项目中,可以根据需求进一步优化,比如引入Spring Data JPA,或者使用MyBatis等其他持久化框架,以适应不同的场景和性能要求。 在学习和应用HibernateDAO的过程中,理解其工作原理和最佳实践至关重要,这有助...

    easypoi之excel导入导出教程参考

    easypoi 官方文档参考 easypoi的介绍 easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过...开始使用(SpringBoot+mybatis plus) 1.pom文件导入依赖 cn.afterturn easypoi-base 3.0.3 cn.a

    史上最全的Java核心技术总结.zip

    - **Annotations(注解)**:在代码中添加元数据,用于编译时或运行时检查。 8. **数据库操作** - **JDBC**:Java数据库连接,用于与各种数据库进行交互。 - **ORM框架**:如Hibernate和MyBatis,简化了数据库...

Global site tag (gtag.js) - Google Analytics