一、输入参数的映射:
1、parameterClass的使用
2、parameterMap的使用
3、如何用Map类型的对象作为传入参数
[b]parameterClass[/b]
insertUser使用了parameterClass,所以必需传入User类型的对象
insertUser2没有使用parameterClass,所以可以传入任意具有相应属性值的对象
[b]parameterMap的使用[/b]
parameterMap用于传入参数,以便匹配SQL语句中的?号
[color=red]利用parameterMap,可以定义参数对象的属性如何映射到SQL查询语句的动态参数上,注意parameterMap中<parameter/>标签的先后顺序不能颠倒![/color]
[b]如何用Map类型的对象作为传入参数[/b]
1、parameterClass的使用
2、parameterMap的使用
3、如何用Map类型的对象作为传入参数
[b]parameterClass[/b]
<insert id="insertUser" parameterClass="User">
insert into t_user values (
null,#username#,#password#
)
<selectKey resultClass="int" keyProperty="id">
SELECT @@IDENTITY AS ID
</selectKey>
</insert>
<insert id="insertUser2">
insert into t_user values (
null,#username#,#password#
)
<selectKey resultClass="int" keyProperty="id">
SELECT @@IDENTITY AS ID
</selectKey>
</insert>
insertUser使用了parameterClass,所以必需传入User类型的对象
User user = new User();
user.setUsername("张三");
user.setPassword("张三密码");
//传递进去的对象,必须是User类型
Object obj = sqlMapper.insert("insertUser", user);insertUser2没有使用parameterClass,所以可以传入任意具有相应属性值的对象
JustAnObject anobj = new JustAnObject();
anobj.setUsername("用户名");
anobj.setPassword("用户密码");
//如果没有指定parameterClass属性,则任何一个具有相应属性值
//的对象都可以被传递进去
Object obj = sqlMapper.insert("insertUser2", anobj);[b]parameterMap的使用[/b]
<parameterMap class="User" id="insertUser-param">
<parameter property="username"/>
<parameter property="password"/>
</parameterMap>
<insert id="insertUser" parameterMap="insertUser-param">
insert into t_user values (
null,?,?
)
<selectKey resultClass="int" keyProperty="id">
SELECT @@IDENTITY AS ID
</selectKey>
</insert>parameterMap用于传入参数,以便匹配SQL语句中的?号
User user = new User();
user.setUsername("张三dd");
user.setPassword("张三密码dd");
Object obj = sqlMapper.insert("insertUser", user);[color=red]利用parameterMap,可以定义参数对象的属性如何映射到SQL查询语句的动态参数上,注意parameterMap中<parameter/>标签的先后顺序不能颠倒![/color]
[b]如何用Map类型的对象作为传入参数[/b]
<!--
这里,可以使用全路径类名,如:
java.util.Map
java.util.HashMap
java.util.TreeMap
或
map
-->
<insert id="insertUser" parameterClass="map">
insert into t_user values (
null,#username#,#password#
)
</insert>
Map user = new TreeMap();
user.put("username", "Map用户");
user.put("password", "Map用户密码");
sqlMapper.insert("insertUser",user);
本文详细介绍了MyBatis框架中三种参数映射的方法:使用parameterClass进行对象映射,使用parameterMap进行属性映射,以及使用Map类型对象作为参数。通过具体的XML配置示例和Java代码示例,展示了不同场景下参数映射的应用。

606

被折叠的 条评论
为什么被折叠?



