Mybatis中@Param的用法和作用
用注解来简化xml配置的时候,@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中
我们先来看Mapper接口中的@Select方法
package Mapper; @Mapper
public interface Mapper { @Select("select s_id id,s_name name,class_id classid from student where s_name= #{aaaa} and class_id = #{bbbb}") public Student select(@Param("aaaa") String name,@Param("bbbb")int class_id); @Delete...... @Insert...... }
1、@Select(……)注解的作用就是告诉mybatis框架,执行括号内的sql语句
2、s_id id,s_name name,class_id classid 格式是 字段名+属性名,
例如s_id是数据库中的字段名,id是类中的属性名
这段代码的作用就是实现数据库字段名和实体类属性的一一映射,不然数据库不知道如何匹配
3、where s_name= #{aaaa} and class_id = #{bbbb} ,表示sql语句要接受2个参数,一个参数名是aaaa,一个参数名是bbbb;
如果要正确的传入参数,那么就要给参数命名,因为不用xml配置文件,那么我们就要用别的方式来给参数命名,这个方式就是@Param注解
4、在方法参数的前面写上@Param("参数名"),表示给参数命名,名称就是括号中的内容
public Student select(@Param("aaaa") String name,@Param("bbbb")int class_id);
给入参 String name 命名为aaaa,然后sql语句....where s_name= #{aaaa} 中就可以根据aaaa得到参数值了。
5、如果传入的参数是基本类型参数和实体类对象。
public List<student> selectuser(@Param(value = "page")int pn ,@Param(value = "st")student student);<select id="selectuser" resultType="com.user.entity.student">SELECT * FROM studentwhere sname like concat(concat("%",#{st.sname}),"%")LIMIT #{page} ,5
</select>
Mybatis中@Param的用法和作用相关推荐
- spring中@param和mybatis中@param使用区别
spring中@param /*** 查询指定用户和企业关联有没有配置角色* @param businessId memberId* @return*/int selectRoleCount(@Par ...
- MyBatis中jdbcType=INTEGER、VARCHAR作用
Mapper.xml中 pid = #{pid,jdbcType=INTEGER} pid = #{pid} 都可以用 Mybatis中什么时候应该声明jdbcType? 当Mybatis不能自动识别 ...
- sql语句中as的用法和作用
最近做项目中,偶然发现在SQL语句中出现了as这个词,一直以来没怎么关注是什么意思,毕竟影响不大,今天有空,就在网上查了一些资料,大概有了一些的了解 我们的Sql语句在很多数据库中都是通用的,比如像M ...
- Mybatis中的<![CDATA[ ]]>作用
在Mybatis的映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用<![CDATA[ ]]>来解决. <![CD ...
- html中data-属性作用,html中的data-*的用法和作用 自定义属性
定义和用法 **data- *** 属性用于存储私有页面后应用的自定义数据. **data- *** 属性可以在所有的 HTML 元素中嵌入数据. 自定义的数据可以让页面拥有更好的交互体验(不需要使用 ...
- mybatis中useGeneratedKeys和keyProperty的作用
使用场景:将对象插入id为自增的表中,同时在程序中仍需要用到该对象插入后自增的ID 方法:配置 useGeneratedKeys="true" keyProperty=" ...
- JS中location的用法和作用
window.location 对象所包含的属性: 属性 描述 hash 从井号 (#) 开始的 URL(锚) host 主机名和当前 URL 的端口号 hostname 当前 URL 的主机名 hr ...
- mysql中delimiter的用法和作用
delimiter命令指定了mysql解释器命令行的结束符,默认为";" 说白了就是告知命令到哪儿结束,可以执行此命令了 但一般在存储过程中会有多个分号,我们并不希望一遇到分号就执 ...
- MyBatis中动态SQL标签及作用
注意:动态 SQL 主要是来解决查询条件不确定的情况,在程序运行期间,根据提交的条件动态的完成查询. 1.<if> 标签 if 是为了判断传入的值是否符合某种规则,可以让我们有选择的加入 ...
最新文章
- 电脑知识:电脑无法开机解决方案,赶紧收藏吧!
- android 揭示动画_如何使用意图揭示函数名称使代码更好
- 回溯专题leetcode
- 频繁自燃 烧伤消费者!充电宝一哥召回部分产品
- 文件系统权限引起IIS站点总跳登录页面
- java多张图片合成一张_利用溶图技巧把多张图片合成一张奇幻风格图片教程
- linux 查看gcc安装目录,linux安装GCC详解
- 精美商业计划书PPT模版大合集(共107份,900M)
- DS18B20温度传感器学习笔记
- 0-博客笔记导读目录(全部)-20220506backup
- plist 文件详解
- 10x 程序员工作法 - 划重点 | “自动化”主题的重点内容回顾汇总
- 关于python中的数学方法(math)(全)
- vue中使用 svg图片
- r1笔记第9天 逻辑英语随堂笔记 (01)
- 在MATLAB中调用 Python
- 微信迎来最新改版,做这几款微信插件提高用户体验!
- No.20-基础-渗透学习
- 详解Java NIO,IO与NIO的区别
- 网络投票器软件摄影投票比赛链接制作手机制作投票链接手机投票
热门文章
- JS中popup.js
- Swift 开发的工具类,主要是提供正则表达式及其它,Github会长期维护
- docker高级应用之动态扩展容器空间大小
- 原生希望原生JavaScript开篇
- CCNA配置试验之七 PPP中PAP和CHAP的验证
- bootargs中的环境变量说明和一些常用的uboot命令
- 【pyqt5学习】——items view相关控件(list view、table view)
- 打开word2016总是出现很抱歉,此功能看似中断需要修复。。问题解决办法
- 热带雨林绘画软件测试,儿童画教程|色彩练习与思维创想——好热闹的热带雨林!...
- 新唐c语言怎么计算指数运算,C语言位域精解