mybatis的select语句不写parameterType也是你说的这样吗
时间: 2023-12-31 11:03:17 浏览: 32
对于 MyBatis 的 select 语句,可以省略 `parameterType` 属性,但这取决于你的具体使用情况。
如果你的 select 语句不需要传入参数,或者你使用的是基于映射器接口方法的方式,那么可以省略 `parameterType` 属性。
例如,假设你有一个查询语句如下:
```xml
<select id="getUserById" parameterType="java.lang.Integer" resultType="com.example.User">
SELECT * FROM users WHERE id = #{userId}
</select>
```
如果你不需要传入参数或者使用映射器接口方法的方式,可以修改为:
```xml
<select id="getUserById" resultType="com.example.User">
SELECT * FROM users WHERE id = #{userId}
</select>
```
在这种情况下,MyBatis 会将查询语句中的 `#{userId}` 直接当作参数传递给查询方法。
但是,请注意,如果你省略了 `parameterType` 属性,并且查询语句中有多个占位符(即多个参数),那么你可能需要使用 `param1`、`param2` 等来手动指定参数的名称,就像我之前提到的那样。
总之,在没有明确需要传入参数的情况下,可以省略 `parameterType` 属性。不过,为了代码的可读性和明确性,建议在 select 语句中显式指定参数类型。