-
mybatis sql映射文件引用传递多个参数10
请教各位一个问题,我有Article.xml 和 Blog.xml 两个文件,
我想在Blog.xml引用Article.xml的一个方法,
Blog.xml中<association property="article" javaType="com.Article" select="com.Article.findByRelIdAndType" />
findByRelIdAndType这个方法有多个参数,此处应该如何写
Article.xml
<mapper namespace="com.creditease.ynd.common.cms.dao.CategoryMapper">
<resultMap id="BaseResultMap" type="com.Blog">
<result column="ID" property="id" jdbcType="DECIMAL" />
<result column="NAME" property="name" jdbcType="VARCHAR" />
<result column="RELID" property="relId" jdbcType="DECIMAL" />
<result column="TYPE" property="type" jdbcType="VARCHAR" />
</resultMap>
<select id="findById" parameterType="long" resultMap="BaseResultMap">
SELECT * FROM T_Article WHERE ID = #{id}
</select>
<select id="findByRelIdAndType" resultMap="BaseResultMap">
SELECT * FROM T_Article WHERE RELID = #{relId} AND TYPE = #{type}
</select>
</mapper>
Blog.xml
<mapper namespace="com.creditease.ynd.common.cms.dao.CategoryMapper">
<resultMap id="BaseResultMap" type="com.Blog">
<result column="ID" property="id" jdbcType="DECIMAL" />
<result column="NAME" property="name" jdbcType="VARCHAR" />
<association column="{relId=ID,type=??}" property="article" javaType="com.Article" select="com.Article.findByRelIdAndType" />
</resultMap>
<select id="findById" parameterType="long" resultMap="BaseResultMap">
SELECT * FROM T_Blog WHERE ID = #{id}
</select>
</mapper2013年7月18日 14:21
2个答案 按时间排序 按投票排序
-
使用@Param("参数名")
public interface SequenceMapper { public Sequence findByKeyAndValue(@Param("key") String key, @Param("value") long value); }
2013年7月18日 17:07
-
参数存入映射器重
e.g.
Article方法findByRelIdAndType(int relId, String type);
映射到Blog
methodName(@Param("relId") int p1, @Param("type") String p2)...
就可以入参了2013年7月18日 16:42
相关推荐
首先,MyBatis的核心是SQL映射文件,这些文件是XML格式的,定义了SQL语句及其相关的参数映射和结果映射。在`mybatis-3_master.zip`中可能包含了MyBatis的源码,这有助于理解其内部工作原理。通过XML配置,我们可以...
在使用MyBatis框架进行数据库操作时,经常会遇到需要向SQL查询语句传入多个参数的情况。本文将详细介绍几种常见的多参数传递方法,并结合具体的代码示例来帮助读者更好地理解和应用这些技巧。 #### 一、单个参数 ...
MyBatis支持传入多个参数,可以通过`@Param`注解指定参数名。 1. Map参数示例: ```java Map, Object> params = new HashMap(); params.put("username", "John"); params.put("age", 30); List<User> users = ...
在Mybatis框架中,mapper.xml文件是定义SQL语句、映射规则以及参数传递方式的重要组成部分。正确地使用parameterType传递参数对于开发高质量的应用程序至关重要。以下是几种常用的parameterType参数传递方式以及#和$...
批量插入的优点在于,它将多个插入操作合并为一个SQL语句,减少了网络传输和数据库解析SQL的时间,提高了效率。 总结起来,MyBatis提供了一种灵活的方式,允许开发者直接执行SQL查询和批量插入数据。在使用时,需要...
当需要传递多个参数时,可以使用`Map, Object>`作为方法的参数。在Java代码中,可以创建一个Map实例并将所有参数放入其中,然后将Map对象传递给Mapper接口的方法。例如: ```java Map, Object> params = new ...
接口名称通常与映射文件中的命名空间和 SQL ID 相匹配,这样 MyBatis 可以自动进行接口方法与 SQL 映射的绑定。 7. **编写控制类** 控制类是业务逻辑的入口,它们调用 DAO 接口进行数据操作。在本实验中,可能会有...
在MyBatis中,参数的传递方式有很多种,主要包括基本类型的参数、对象参数、多个参数以及使用注解的方式。下面将详细讲解这些方法及其注意事项。 1. 单个参数传入基本类型或直接传入类类型 当参数为基本类型如`...
映射文件包含了SQL语句、结果映射、参数映射等内容,使得MyBatis能根据这些信息动态生成对应的SQL执行逻辑。例如,一个`User`实体类可以对应一个`user_map.xml`映射文件,里面定义了`select`, `insert`, `update`, `...
例如,`batchInsert(List)`方法可以一次性插入多个对象到数据库,提高了效率。 7. **主键策略**:Mybatis-Plus提供了多种主键生成策略,如ID_WORKER(雪花算法)、ASSIGN_ID(由数据库生成,如MySQL的自增ID)、...
7. **parameterMap**: 虽然在MyBatis 3.0之后已经不再推荐使用,但仍然存在,用于传递参数到SQL语句。 在实际项目中,`mybatis-config.xml`和mapper文件的配合使用,可以实现灵活的数据库操作。例如,通过`...
在这个例子中,ResultMap 由多个元素组成,包括 `constructor`、`result` 和 `association`。 1. `constructor`: 这个元素用于构造器注入,即将查询结果中的某些列值作为参数传递给对象的构造函数。例如,`...
MyBatis 提供了多种参数传递方式,包括单个参数直接传递、多个参数封装成 Map 集合作为参数传递和封装成对象传递。 MyBatis 的事务控制 MyBatis 提供了两种事务控制方式:自动提交和手动提交。自动提交方式下,...
对于复杂参数或者多个参数,可以使用`@Param`注解来指定参数别名,例如: ```java @Select("select * from sys_user where id=#{id} and nickname like #{nickname}") List<User> selectByParams(@Param("id") ...
### MyBatis 输入输出映射、动态SQL及对象关系映射整合详解 #### MyBatis输入输出映射 **输入映射(ParameterType)** 在MyBatis中,输入映射主要指如何将Java对象中的数据映射到SQL语句中。这包括基本类型和复杂...
在MyBatis中,调用存储过程可以通过定义一个SQL映射元素,然后在其中使用`<procedure>`标签指定存储过程名。传递的参数和接收的结果可以通过输入和输出参数映射进行配置。这种方式使得存储过程的调用如同调用普通...
MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。在实际开发中,为了提高代码的复用性和灵活性,我们经常需要创建自定义的SQL工具包。`mybatis-helper`这个工具包就是为了帮助开发者更...
2. **SQL映射文件**:在MyBatis中,SQL语句通常写在XML映射文件中,这使得SQL与代码分离,更易于维护。在本示例中,你可能会看到一个名为`mybatis-config.xml`的配置文件,用于定义数据库连接信息和映射文件的位置。...
SQL片段是一种重用SQL语句的方式,可以在多个地方定义相同或相似的SQL片段,并在需要时引用它们。 #### 参数(Parameters) MyBatis支持多种参数传递方式,包括简单类型、Map、POJO,以及复杂的类型,比如List和数...
#### 十一、MyBatis传入多个参数时的处理方式 - **参数处理**:可以使用`@Param`注解为每个参数指定名称,也可以直接使用位置参数或Map类型。 #### 十二、列名与属性名不同时的解决方案 - **解决方案**:当数据库...