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得到参数值了。

原文地址:https://www.cnblogs.com/goloving/p/9241449.html

时间: 2024-10-13 08:45:08

mybatis中@Param的用法和作用的相关文章

spring中@param和mybatis中@param使用区别

spring中@param和mybatis中的@param的写法大致一样  int selectRoleCount(@Param("businessId") Integer businessId,@Param("memberId") Long memberId); 但是引入import的类不一样,一个是spring的[org.springframework.data.repository.query.Param]: 一个是mybatis的,[org.apache.i

MyBatis中jdbcType=INTEGER、VARCHAR作用

Mapper.xml中 pid = #{pid,jdbcType=INTEGER} pid = #{pid} 都可以用 Mybatis中什么时候应该声明jdbcType? 当Mybatis不能自动识别你传入对象的类型时. 什么情况下,Mybatis不能自动识别我的传入类型? 例如:当你传入空值的时候.(不加比较好,加了反而空插入的时候不行,待测试) 简而言之,加上肯定不会报错. 原文地址:https://www.cnblogs.com/dianzan/p/11326349.html

mybatis中@Param用法

用注解来简化xml配置的时候,@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中 我们先来看Mapper接口中的@Select方法 package 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}")

MyBatis 中 @Param 注解的四种使用场景,最后一种经常被人忽略!

有一些小伙伴觉得 MyBatis 只有方法中存在多个参数的时候,才需要添加 @Param 注解,其实这个理解是不准确的.即使 MyBatis 方法只有一个参数,也可能会用到 @Param 注解.但是,在你总结出规律之前,你可能会觉得莫名其妙,有的时候一个参数明明不用添加 @Param 注解,有的时候,却需要添加,不添加会报错. 有的人会觉得这是 MyBatis 各个版本差异的锅,不可否认,MyBatis 发展很快,不同版本之间的差异还挺明显的,不过这个加不加 @Param 注解的问题,却并不是版

sql语句中as的用法和作用

最近做项目中,偶然发现在SQL语句中出现了as这个词,一直以来没怎么关注是什么意思,毕竟影响不大,今天有空,就在网上查了一些资料,大概有了一些的了解 我们的Sql语句在很多数据库中都是通用的,比如像Mysql数据库 Access数据库. Oracle数据库.  Sqlite数据库 .甚至在我们的Excel中也可以使用Sql语句. 在我的数据库中有user这个表,正常来说,想查询该表,那么sql语句如下 select * from user 执行该语句,得到如下结果 作为一个开发人员来说,自然是能

Mybatis中@param注解

以前没见过在dao层方法参数前面加@param注解,如 int getInstance( @param("orderId") String id,  @param("createTime") String time), 以前只用过int getInstance( String id,  String time),所以感觉很奇怪,在网上查资料,然后自己在实际编程中实践了一下,发现加上 @param就是为了给参数命名,如给id命名为orderId,这样xml文件就可以通

MyBatis 中@param 的用法

示例: 接口方法 [java] view plain copy public List<Teacher> selectTeacher(@Param(value="id") String id,@Param(value="sex") String sex); XML文件 [html] view plain copy <select id="selectTeacher"  resultType="com.myapp.dom

mybatis中session.getMapper()方法和resultMap

session.getMapper()方法的使用: 定义接口 /** * 查询所有 * @return */public List<Student> getAll(); SQL映射文件,做如下设置 <mapper namespace="cn.happy.dao.IStudentDAO"> <select id="getAll" resultMap="studentMap" useCache="false&q

myBatis中的注解@Param、返回值为Map、JAVA读取Excel并解析文本、Class.getResource()和ClassLoader.getResource()

myBatis中的注解@Param:http://blog.csdn.net/gao36951/article/details/44258217:  http://www.cnblogs.com/thomas12112406/p/6217211.html. myBatis返回值为Map:http://blog.csdn.net/werewr342352321df/article/details/11892755. ====================== JAVA读取Excel并解析文本:h