Mybatis传递多参以及Springmvc传递多参

下面给大家总结了Mybatis以下几种多参数传递的方法。

方法1:顺序传参法

public User selectUser(String name, int deptId);

<select id="selectUser" resultMap="UserResultMap">

    select * from user

    where user_name = #{0} and dept_id = #{1}

</select>

#{}里面的数字代表你传入参数的顺序。

这种方法不建议使用,sql层表达不直观,且一旦顺序调整容易出错。


方法2:@Param注解传参法

public User selectUser(@Param("userName") String name, int @Param("deptId") deptId);

<select id="selectUser" resultMap="UserResultMap">

    select * from user

    where user_name = #{userName} and dept_id = #{deptId}

</select>

#{}里面的名称对应的是注解@Param括号里面修饰的名称。

这种方法在参数不多的情况还是比较直观的,推荐使用。


方法3:Map传参法

public User selectUser(Map<String, Object> params);

<select id="selectUser" parameterType="java.util.Map" resultMap="UserResultMap">

    select * from user

    where user_name = #{userName} and dept_id = #{deptId}

</select>

#{}里面的名称对应的是Map里面的key名称。

这种方法适合传递多个参数,且参数易变能灵活传递的情况。


方法4:Java Bean传参法

public User selectUser(Map<String, Object> params);<select id="selectUser" parameterType="com.test.User" resultMap="UserResultMap">

    select * from user

    where user_name = #{userName} and dept_id = #{deptId}

</select>


#{}里面的名称对应的是User类里面的成员属性。

原文链接:https://blog.csdn.net/youanyyou/article/details/79406486



下面给大家总结了Springmvc以下几种多参数传递的方法。

//第一种 简单的数据类型的接收  页面的参数和控制类的参数名必须一致

@RequestMapping("demo1")

public String demo1(String uname,int age){

System.out.println(uname+"  "+age);

return "main.jsp";

}

//第二种 简单的数据类型  页面的参数和控制类的参数名不一致

//RequestParam:接收的参数名

@RequestMapping("demo2")

public String demo2(@RequestParam(value="username") String uname,@RequestParam(value="userage")int age){

System.out.println(uname+"  "+age);

return "main.jsp";

}

//第三.四种 简单的数据类型  如果出现了空值的现象 要求摸个参数必须有

//1.使用对象类型作为参数

//2.设定缺省值

//3(@RequestParam(value="xxx",required=true,defaultValue="2") 多余

@RequestMapping("demo3")

public String demo3(@RequestParam(value="username",required=true) String uname,

@RequestParam(value="userage",defaultValue="2")Integer age){

System.out.println(uname+"  "+age);

return "main.jsp";

}

//第五种 对象类型的参数接收

//RequestParam:接收的参数名  --简单的域模型方式

@RequestMapping("demo5")

public String demo5(Student s){

System.out.println(s);

return "main.jsp";

}

//第六种 集合的简单数据类型参数接收

//RequestParam:接收的参数名  --简单的域模型方式

@RequestMapping("demo6")

public String demo6(@RequestParam("hover")List<String> abc){

System.out.println(abc);

return "main.jsp";

}

//第七种 对象中对象类型(单个对象,集合)的参数接收

//RequestParam:接收的参数名  --简单的域模型方式

@RequestMapping("demo7")

public String demo7( Student s){

System.out.println( s);

return "main.jsp";

}

//第八种  restful传值 路径传值法

@RequestMapping("demo8/{id}/{name}")

public String demo8(@PathVariable("name") String uname,@PathVariable int id){

System.out.println(uname+"  "+id);

return "/main.jsp";

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容