如果Mapper接口中的方法如果只有一个参数,则xml动态sql中可以直接引用参数名,如果有多个参数,保险做法是使用@Param注解设置参数别名,这样可以在xml动态sql中使用参数别名。
如:List searchSometh(@Param("parama") String parama, @Param("paramb") List<String> paramb);
<select id="searchSometh" ..> select * from some_table <trim prefix="where" prefixOverrides="AND | OR"> <if test="parama != null"> and field_a = #{parama,jdbcType=VARCHAR} </if> <if test="paramb != null"> <choose> <when test="paramb.size()==1">and field_b=#{paramb[0]}</when> <when test="paramb.size()>1"> and field_b in <foreach item="item" index="index" collection="paramb" open="(" separator="," close=")">#{item}</foreach> </when> </choose> </if> </trim> </select>
对于List类型的集合参数,foreach中的collection属性值,如果参数没有使用@Param注解设置参数别名,则collection属性值为“list”,否则使用参数别名
相关推荐
3. **映射文件**:Mybatis的映射文件是实现SQL动态绑定的核心,视频详细讲解了如何编写映射文件,包括不同的参数处理规则,如#取值时指定参数的相关规则。 4. **resultMap**:resultMap是Mybatis中的一个重要元素,...
问题出在查询结果中,`id`与`supplierOrganizationIdList`的值相同,这可能是因为在MyBatis的映射配置中,集合属性(如`supplierOrganizationIdList`)的取值依据是子查询的结果,而在原SQL中,`supplier_...
2. **SQL**:Structured Query Language,用于管理和查询数据库的标准语言。 3. **事务管理**:事务是一组操作的集合,要么全部成功,要么全部失败。Java提供了JTA(Java Transaction API)来支持分布式事务管理。 ...
- **MyBatis**:MyBatis提供了一个SQL映射框架,通过XML或注解定义SQL语句,减少了DAO层的代码量,介于全手动SQL和ORM之间。 熟悉这些知识点,对于Java程序员在互联网公司的面试会有极大的帮助,能够展现出扎实的...
- **MyBatis框架**:理解动态SQL,XML与注解配置方式,以及ResultMap和ParameterMap的应用。 8. **设计模式**: - 掌握常见的设计模式,如单例模式、工厂模式、观察者模式、装饰器模式等,理解它们在实际项目中的...
- **MyBatis框架**:是一个半自动化的映射工具,它同样支持ORM,但在SQL语句的编写方面提供了更大的自由度,适合复杂的查询需求。 **4. 数据库的增删改查语句** 基本的SQL语句包括: - **增加记录**:`INSERT ...
- MyBatis框架的使用,动态SQL,事务管理。 以上知识点只是Java面试题的一部分,实际面试中可能还会涉及数据库操作、分布式系统、微服务架构、性能优化等方面的问题。不断学习和实践,才能在Java面试中脱颖而出。
- **MyBatis**:了解SQL映射文件,动态SQL,以及事务管理。 - **Dubbo**:服务治理、远程调用、注册中心等核心概念。 以上就是Java面试中常见的知识点,涵盖了从基础到进阶的各个方面。通过学习和理解这些内容,...
2. **MyBatis**:SQL映射,动态SQL,事务管理等。 3. **Struts或Spring MVC**:理解MVC模式,控制器,视图和模型的交互。 以上就是《Java面试宝典2010版》中涉及的主要知识点,对于求职者来说,扎实掌握这些内容能...
- SQL基础:增删改查操作,了解JOIN、子查询、存储过程等高级特性。 - JDBC:连接数据库,执行SQL,处理结果集,事务管理等。 - ORM框架:如Hibernate、MyBatis,理解其工作原理和优势。 以上只是部分知识点,...
7. **流程控制**:Java提供了if语句、switch语句进行条件判断,以及for、while、do-while循环结构,用于控制程序的执行流程。 8. **数组**:数组是相同类型元素的集合,可以使用索引访问。Java中的数组既可以是一维...