@Param注解在mybatis中的使用以及传入参数的几种方式(转)

第一种:

Dao层的方法

<span style="font-size:12px;">Public User selectUser(String name,String password);</span>  

对应的Mapper.xm

  

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

    select  *  from user_user_t   where user_name = #{0} and user_password=#{1}  

  </select>  

第二种:

该方法采用Map传多参数

Dao层的方法

<span style="font-size:12px;">Public User selectUser(Map paramMap);</span>  

对应的Mapper.xml

 <select id=" selectUser" resultMap="BaseResultMap">    select  *  from user_user_t   where user_name = #{userName,jdbcType=VARCHAR} and user_password=#{userPassword,jdbcType=VARCHAR}   </select>

Service层调用

public User xxxSelectUser(){  

Map paramMap=new hashMap();  

paramMap.put(“userName”,”对应具体的参数值”);
paramMap.put(“userPassword”,”对应具体的参数值”);
User user=xxx. selectUser(paramMap);} 

个人认为此方法不够直观,见到接口方法不能直接的知道要传的参数是什么。

第三种:

Dao层的方法

Public User selectUser(@param(“userName”)Stringname,@param(“userpassword”)String password);

对应的Mapper.xml

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

   select  *  from user_user_t   where user_name = #{userName,jdbcType=VARCHAR} and user_password=#{userPassword,jdbcType=VARCHAR} 

</select>

第四种:

mapper.java:

public List<User> getUserByParam(User use);

对应Mapper.xml:

<select id="getUserByParam" resultType="com.ray.bean.User" parameterType="com.ray.bean.User" >
    select * from t_pub_user t
     <where>
        <if test="{user_name}!=null">
             t.user_name like CONCAT(‘%‘,#{user_name},‘%‘)
        </if>
        <if test="{user_password}!=null">
            and t.user_password like CONCAT(‘%‘,#{user_password},‘%‘)
        </if>
    </where>
     limit #{1},#{2}
</select>
时间: 2024-10-21 02:04:21

@Param注解在mybatis中的使用以及传入参数的几种方式(转)的相关文章

mybatis中传入参数的几种方式

第一种: Dao层的方法 Public User selectUser(String name,String password); 对应的Mapper.xm <select id="selectUser" resultMap="BaseResultMap"> select * from user_user_t where user_name = #{0} and user_password=#{1} </select> 第二种: 该方法采用M

mybatis中association的column传入多个参数值

顾名思义,association是联合查询. 在使用association中一定要注意几个问题.文笔不好,白话文描述一下. 1: <association property="fncg_PD_QRY_MANAGE" column="###" select="###" /> fncg_PD_QRY_MANAGE 是哪来的?看红色部分, public class FNCG_PD_QRY extends BasePO{ private St

MyBatis接受参数的几种方式

业务层或者控制层的参数传到mapper文件中,mapper文件里的sql语句该如何接收呢. 第一种,实体对象的属性,这种比较简单,只要设置parameterType="com.zhdm.pojo.User"即可: 第二种,占位符传值:即用#{0},#{1}的方式接收,这种方式的弊端是如果参数有多个,要写多个占位符,顺序还不能搞错: 第三种,用@Param注解传值,在Dao方法里的参数前面加上@Param("provinceId"),即("provinceI

Android中EditText显示明文与密文的两种方式

效果图   布局文件 <?xml version="1.0" encoding="utf-8"?> <!-- Android中EditText显示明文与密文的两种方式 --> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/to

[转]在计算机程序中,完成重复的任务有两种方式:递归和迭代(循环)。

在计算机程序中,完成重复的任务有两种方式:递归和迭代(循环) 递归的一个例子:从前有座山,山里有座庙,庙里一个老和尚在给小和尚讲故事,内容是“从前有座山,山里有座庙,庙里一个老和尚在给小和尚讲故事,内容是“从前有座山,山里有座庙,庙里一个老和尚在给小和尚讲故事,内容是“...... 循环的一个例子:炉子上有99锅汤,让我不小心喝了一锅,炉子上还有98锅汤;炉子上有98锅汤,让我不小心喝了一锅,炉子上还有97锅汤;炉子上有97锅汤,让我不小心喝了一锅,炉子上还有96锅汤; ...... http:

.NET中JSON的序列化和反序列化的几种方式

一.什么是JSON JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据.简洁和清晰的层次结构使得JSON 成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率. 是JavaScript用来处理数据的一种格式,大部分是用来处理JavaScript和web服务器端之间的数据交换

thinkphp中URL传参数的几种方式

在thinkphp中,url传参合asp.net中原理类似,下面就单个参数和多个参数传递方式进行一个简单讲解 1.传单个参数 单个参数这种比较简单,例如 想像edit操作里面传递一个id值,如下写法__URL__/edit/id/1 http://localhost/index.php/user/edit/id/1 id和其值1要分别位于/后面 后台获取id通过    $id=$_GET['id']   即可获取其具体值. 2.传多个参数 传多个参数相对比较麻烦一点,可以通过两种方式 第一种:传

ASP.NET MVC2中Controller向View传递数据的三种方式

转自:http://www.cnblogs.com/zhuqil/archive/2010/08/03/Passing-Data-from-Controllers-to-View.html 在Asp.net mvc开发中,Controller需要向View提供Model,然后View将此Model渲染成HTML.这篇文章介绍三种由Controller向View传递数据的方式,实现一个DropDownList的显示. 第一种:ViewData ViewData是一个Dictionary.使用非常简

Windows10-UWP中设备序列显示不同XAML的三种方式[3]

阅读目录: 概述 DeviceFamily-Type文件夹 DeviceFamily-Type扩展 InitializeComponent重载 结论 概述 Windows10-UWP(Universal Windows Platform)增加一个新特性设备序列(DeviceFamily)特定视图,它允许开发者为指定的设备序列定义指定的XAML显示,(Desktop.Mobile.tablet.Iot等). 如果你想为不同的设备序列显示较多不一样的UI时,它是非常有用的.当然,使用Relative