MyBatis 如何接收参数
MyBatis的mapper接口不需要自己实现,框架会自动帮我们实现,到时候直接调用就可以了。定义的mapper接口中的方法可以有多个参数吗?答案是肯定。在Ibatis时代是自己通过代码实现如何调用xml中定义的statement,接受的参数只能是一个,所以处理的办法通常是用Map的方式。当然这个也能使用在MyBatis上,不过MyBatis提供更加简单的方法。下面就通过例子来说明。
Mapper接口
public interface TestMapper {
Object meth1(String para1, String para2);
/**
* p1、p2可以是任何合法的java命名方式
* xml中可以根据此标示来获取到具体传入的值
*/
Objectmeth2(@Param("p1")String para1, @Param("p2")Stringpara2);
}
mapper.xml
<select id="meth1"resultType="int">
select count * fromtest
where col1 =#{0}
and clo2 = #{1}
</select>
<select id="meth2"resultType="int">
select count * fromtest
wherecol1 = #{p1}
and clo2 =#{p2}
</select>
上述两种方法都行的通,上述statement中不需要指定parameterType。如果不使用@Param注解方式,那么可以通过#{0}、#{1}的方式来获取参数的值,注意function中的第一个参数是0;使用了注解就按注解中定义的名字来取。推荐使用注解的方式。在方法重构时,例如增加、减少或调整参数的顺序,如果使用非注解的方式,在修改xml时就显得比较麻烦,可能里面的${0}、${1}、${2}都需要调整,而且不明确,特别是参数较多的情况下。
MyBatis 如何接收参数的更多相关文章
- SpringMVC框架笔记01_SpringMVC的使用案例和架构组件_SpringMVC和Mybatis整合_接收参数
目录 第1章:SpringMVC简介 1.1 什么是SpringMVC 1.2 SpringMVC的处理流程 第2章:SpringMVC入门程序 2.1 场景描述 2.2 步骤分析 2.3 步骤一:创 ...
- 使用MyBatis时接收值和返回值选择Map类型或者实体类型
MyBatis作为现近JavaEE企业级项目开发中常用的持久层框架之一,以其简洁高效的ORM映射和高度的SQL的自由性被广大开发人员认可.Mybatis在接收系统传来的参数和返回的参数时主要可以有Ma ...
- mybatis如何接收字符串转换为date类型插入数据库
今天遇到一个问题,先描述一下: 后台获取数据,有一个字段是时间字段,后台传过来的是字符串类型的,如:2016/11/16 10:26:17, 将该字符串放在map对象中(持久层用的是mybatis或者 ...
- Struts2中Action接收参数的四种形式
1.Struts2的Action接收参数的三种形式. a. 使用Action的属性接收(直接在action中利用get方法来接收参数): login.js ...
- js跳转到新页面传参以及接收参数的方法
1.传递参数: window.location.href = "./list.html?id="+id; 1.接收参数: (1)接收参数函数封装 function GetReque ...
- Struts2 DomainModel、ModelDriven接收参数
一.DomainModel(域模型) 1. 应用场景:一般我们在struts2的action中接收参数通常是如下方式 package cn.orlion.user; import com.opensy ...
- Request 接收参数乱码原理解析三:实例分析
通过前面两篇<Request 接收参数乱码原理解析一:服务器端解码原理>和<Request 接收参数乱码原理解析二:浏览器端编码原理>,了解了服务器和浏览器编码解码的原理,接下 ...
- Request 接收参数乱码原理解析二:浏览器端编码原理
上一篇<Request 接收参数乱码原理解析一:服务器端解码原理>,分析了服务器端解码的过程,那么浏览器是根据什么编码的呢? 1. 浏览器解码 浏览器根据服务器页面响应Header中的“C ...
- Request 接收参数乱码原理解析一:服务器端解码原理
“Server.UrlDecode(Server.UrlEncode("北京")) == “北京””,先用UrlEncode编码然后用UrlDecode解码,这条语句永远为true ...
随机推荐
- 2> How Struts 2 Works
The first thing we should consider is that the workflow of figure 1.4 still obeys the sim- pler MVC ...
- POJ1840Eps
http://poj.org/problem?id=1840 题意 : 有这样一个式子a1x13+ a2x23+ a3x33+ a4x43+ a5x53=0,给你五个系数的值,让你找出x1,x2,x3 ...
- MessageBox.Show()如何换行
MessageBox.Show("你好!\n\r可以使用", "换行");
- 前端H5开发工具 Adobe Edge
http://www.cnblogs.com/adobeedge/ http://my.oschina.net/duolus/blog/212801?fromerr=WAcqscJl
- mysql小记--基础知识
一.事务 事务是由一组SQL语句组成的逻辑处理单元. 事务的特征ACID,即原子性.一致性.隔离性和持久性. 原子性(Atomicity)事务作为整体执行,操作要么全部执行.要么全部不执行. 一致性( ...
- lintcode 中等题:k Sum ii k数和 II
题目: k数和 II 给定n个不同的正整数,整数k(1<= k <= n)以及一个目标数字. 在这n个数里面找出K个数,使得这K个数的和等于目标数字,你需要找出所有满足要求的方案. 样例 ...
- *[codility]Peaks
https://codility.com/demo/take-sample-test/peaks http://blog.csdn.net/caopengcs/article/details/1749 ...
- 百度地图API简单使用
百度地图API是由JavaScript语言编写的,在使用之前需要将API引用到页面中: 现在新版本的需要密钥,下面用的是旧版的 <script src="http://api.map ...
- 37. Sudoku Solver
题目: Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are indicated b ...
- C++:运算符重载函数之友元运算符重载
5.2.2 友元运算符重载函数 运算符重载函数一般采用两种形式定义: 一是定义为它将要操作的类的成员函数(简称运算符重载函数): 二是定义为类的友元函数(简称为友元运算符重载函数). 1.定义友元运算 ...