一:当核心配置文件mapper标签下以resource形式指向依赖配置文件时,不需要

这样就可以加载到其相应的依赖配置文件通过namespace找到其相应的方法

二:如果mapper标签下以package包扫描形式时,需要。

原因如下:

1.包扫描形式时。实体类+Mapper接口通过动态代理调用方法

2.调用方法时会找其相应的映射配置文件

3.当多个mapper接口和mapper.xml同时存在,如果没有相同的名称,则动态代理就不能通过其一一对应的依赖配置文件创建其相应的实现方法

实例一 @Param注解单一属性

dao层示例

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

xml映射对应示例

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

注意:采用#{}的方式把@Param注解括号内的参数进行引用(括号内参数对应的是形参如 userName对应的是name);

实例二 @Param注解JavaBean对象

dao层示例

public List<user> getUserInformation(@Param("user") User user);

xml映射对应示例

  1. <select id="getUserInformation" parameterType="com.github.demo.vo.User" resultMap="userMapper">
  2. select
  3. <include refid="User_Base_Column_List" />
  4. from mo_user t where 1=1
  5. <!-- 因为传进来的是对象所以这样写是取不到值得 -->
  6. <if test="user.userName!=null  and user.userName!=''">   and   t.user_name = #{user.userName}  </if>
  7. <if test="user.userAge!=null  and user.userAge!=''">   and   t.user_age = #{user.userAge}  </if>
  8. </select>

以下内容为摘录内容:源于 冲吧,不要停! 如有侵权,请通知作者,及时删除~~~

1,使用@Param注解

当以下面的方式进行写SQL语句时:

@Select("select column from table where userid = #{userid} ")
    public int selectColumn(int userid);

当你使用了使用@Param注解来声明参数时,如果使用 #{} 或 ${} 的方式都可以。

@Select("select column from table where userid = ${userid} ")
    public int selectColumn(@Param("userid") int userid);

当你不使用@Param注解来声明参数时,必须使用使用 #{}方式。如果使用 ${} 的方式,会报错。

@Select("select column from table where userid = ${userid} ")
    public int selectColumn(@Param("userid") int userid);

2,不使用@Param注解

不使用@Param注解时,参数只能有一个,并且是Javabean。在SQL语句里可以引用JavaBean的属性,而且只能引用JavaBean的属性。

// 这里id是user的属性

@Select("SELECT * from Table where id = ${id}")
    Enchashment selectUserById(User user);

转载于:https://www.cnblogs.com/jianxin-lilang/p/7685639.html

Mybatis中是否需要依赖配置文件的名称要和mapper接口的名称一致 params错误相关推荐

  1. 学习MyBatis必知必会(6)~MyBatis基础拓展(别名、属性、resultMap、Mapper接口、多参数处理、myBatis插件)

    Mapper基础的拓展包括:别名.属性[动态引入].resultMap[解决列名和属性名不匹配].Mapper接口[好比DAO层].参数处理[注解@Param处理多个参数].myBatis插件[ecl ...

  2. Mybatis中SqlMapConfig.xml配置文件的使用

    文章目录 SqlMapConfig.xml中配置的内容和顺序如下 properties(属性) SqlMapConfig.xml引用如下 typeAliases(类型别名) mybatis支持别名: ...

  3. 笔记·mybatis核心对象和全局配置文件

    jar包官网: https://mvnrepository.com/artifact/org.mybatis 介绍: 持久化: 持久,即把数据(如内存中的对象)保存到可以永久保存的存储设备中,持久化的 ...

  4. mybatis中<mappers> ,mapperLocations,和MapperScannerConfigurer 用法

    mybatis中<mappers> ,mapperLocations,和MapperScannerConfigurer 用法 1. mappers标签 在mybatis单独使用时,myba ...

  5. 【Mybatis】SqlMapConfig.xml核心配置文件

    1.properties 属性 SqlMapConfig.xml可以引用java属性文件中的配置信息如下: 在classpath下定义db.properties文件(key-value形式注意不要出现 ...

  6. Mybatis—代理开发和核心配置文件深入

    代理开发方式介绍 采用 Mybatis 的代理开发方式实现 DAO 层的开发,这种方式是我们后面进入企业的主流. Mapper 接口开发方法只需要程序员编写Mapper 接口(相当于Dao 接口),由 ...

  7. Mybatis中(#{ })模糊查询like(使用oracle的concat函数嵌套拼接SQL)

    需求: 模糊查询需要左右各拼接一个'%',如:like %key% . 项目情况: mybatis中动态传参一般采用占位符#{key}.使用数据库:orecle. 错误的尝试: 尝试使用: like ...

  8. mybatis中常用配置文件

    mybatis中的配置文件 1.全局配置文件 1.1 properties:读取外部资源 properties文件,以key-value形式读取,以=为分隔符 例如: resources下创建db.p ...

  9. MyBatis中的常用注解

    在MyBatis中,一些SQL语句例如(select * from 表名;delete from 表名)等等,这些SQL语句比较简单,没有那些复杂的关联关系,但是在不用注解的情况下,要执行这些方法的话 ...

  10. Mybatis Generator最详细的配置文件

    原文地址:http://www.jianshu.com/p/e09d2370b796 <?xml version="1.0" encoding="UTF-8&quo ...

最新文章

  1. python实现二叉树遍历(前序遍历、中序遍历、后序遍历)
  2. Windows Server 2016-Powershell迁移FSMO角色
  3. nginx A/B 灰色发布
  4. 【机器学习】sklearn数据特征预处理:归一化和标准化
  5. intellij idea 好用的快捷键(mac版)
  6. lEO数值资产系统某平台c2c币数值合约交易平台自动撮合松机器人功能
  7. 云小课 | 需求任务还未分解,该咋整!项目管理Scrum项目工作分解的心酸谁能知?
  8. nuttx linux 编译,linux下建立nuttx开发环境
  9. latex使用记录3
  10. 前端—每天5道面试题(十二)
  11. TOP100summit:【分享实录-QQ空间】10亿级直播背后的技术优化
  12. 用python海龟制图画花瓣_Python教程:使用Turtles画出带有花瓣的花
  13. BoundsChecker检查内存泄露 使用步骤
  14. bzoj3786 星际探索 splay dfs序
  15. 再见吧 buildSrc, 拥抱 Composing builds 提升 Android 编译速度
  16. FCC算法:十一、截断数组--Slasher Flick
  17. gb28181简单实现sip信令服务器(java版基于springboot):一、netty创建udp服务器
  18. Ffmpeg快速命令使用 Ffmpeg选项详解 Ffmepg格式详解 常见视频文件格式详解
  19. codeblocks 调用dll/lib
  20. 计算广告学习笔记1.9 广告的基础知识-在线广告系统结构

热门文章

  1. hibernate 的session一级缓存
  2. linux 线程同步与互斥:读写锁 线程读操作较多,写操作较少时,使用读写锁
  3. bootstrap datetimepicker 初始化及取值
  4. 2018年英语计算机职称考试,2018年高级职称计算机考试内容介绍
  5. [渝粤教育] 江西理工大学 新融合大学英语(I) 参考 资料
  6. 【渝粤教育】国家开放大学2018年秋季 1020t国际私法 参考试题
  7. 【渝粤教育】电大中专金融与税收_1作业 题库
  8. 【渝粤教育】广东开放大学 标准的研制与编制 形成性考核 (35)
  9. 数据预处理第1讲:标准化
  10. Numpy系列(一)array对象以及创建array的方法总结