Mybatis的mapper设置参数问题

mybatis中默认是只能设置一种参数类型,参数可以通过如下两种方式获取:

第一种 #{}获取参数 

 如果是默认类型的话,那么可以使用#{0}获取第一个参数,也可以使用#{param1}获取

它相当于是使用PreparedStatement来进行SQL的占位符处理 

<select id="selById"
resultType="com.bjsxt.pojo.People"
parameterType="int">
select * from people where id=#{0}
</select>

第二种是${}

它相当于是使用字符串拼接,  他只有在参数类型是对象的时候才使用,${}括号中填写的是属性值,然后他相当于调用了set get方法, 去取到值, 

当我们要传递两种及以上的参数类型的时候

第一种方法就是传递一个对象

 参数类型是一个对象,然后占位符中传递 对象属性名 主要要写get set方法

第二种是传递MAP

<select id="page" resultType="com.bjsxt.pojo.People"
parameterType="map">
select * from people limit #{pageStart},#{pageSize}
</select>

其中的pageStart和pageSize都是map的key ,

注意: 如果${}中是数字就表示传入的是数字,没有实际意义, 

                  使用#{}如果只有一个参数(基本数据类型或 String),mybatis对#{}里面内容没有要           求只要写内容即可.

猜你喜欢

转载自blog.csdn.net/weixin_41298572/article/details/88592485