首页 > 其他分享 >mybatis

mybatis

时间:2024-02-04 10:35:18浏览次数:24  
标签:age public person 参数 mybatis where id

一. 传参

参数类型parameterType推荐不写,除非自定义类型与引用的第三方类型重名,需要特别指定。

(1) 传递一个参数(基本类型或其包装类型)

mapper接口:
public interface PersonMapper {
    //根据员工编号获取员工信息和员工部门
    public Person getPersonById(Integer id);
 }

xml映射文件:
<mapper namespqce="com.offcn.mapper.PersonMapper">
    <select id="getPersonById" resultType="Person">
        select * from person where id=#{id}
    </select>
<mapper>

说明:此时可以用任意合法的名称接收

(2) 传递多个参数

mapper接口:
public interface PersonMapper{
    //定义一个方法传递两个参数
    public List<Person> getPersonsBymany(Integer id,Integer age);
}
xml映射文件:
<mapper namespace="com.offcn.mapper.PersonMapper">
    <select id="getPersonsByMany" resultType="Person">
        //arg+参数下标的形式。参数下标从0开始
        select * from person where id > #{arg0} and age> #{arg1}
    </select>
</mapper>


<mapper namespace="com.offcn.mapper.PersonMapper">
    <select id="getPersonsByMany" resultType="Person">
        //param+参数下标的形式。参数下标从1开始
        select * from person where id > #{param1} and age> #{param2}
    </select>
</mapper>
使用@param注解指定参数名
mapper接口: public interface PersonMapper{ public List<Person> getPersonsByMany(@Param("id") Integer id, @Param("age") Integer age); } xml映射文件: <mapper namespace="com.offcn.mapper.PersonMapper"> <select id="getPersonsByMany" resultType="Person"> select * from person where id > #{id} and age> #{age} </select> </mapper>
#{参数名} 中的参数名要和@param("参数名")对应

(3) 传一个普通对象

mapper接口:
public interface PersonMapper{
    //传递一个javabean对象
    public List<Person> getPersonsByMany(Person person);
}

xml映射文件:
<mapper namespace="com.offcn.mapper.PersonMapper">
    <select id="getPersonsByMany" resultType="Person">
        select * from person where id > #{id} and age> #{age}
    </select>
</mapper>
存在的问题:若传递的参数较少,在使用对象进行传递的时候我们依旧要创建这个对象,而创建对象是需要在内存中开辟空间的,这样的话就比较耗费内存。
此时可以用传map对象替换。

(4)传一个map对象

mapper接口:
public interface PersonMapper{
//传递一个Map集合来获取Person
public List<Person> getPersonByMap(Map<String,Object> map);
}
xml映射文件: <mapper namespace="com.offcn.mapper.PersonMapper"> <select id="getPersonByMap" resultType="Person"> select * from person where id > #{id} and age> #{age} </select> </mapper>

 

 

 

 

 

标签:age,public,person,参数,mybatis,where,id
From: https://www.cnblogs.com/shijianchuzhenzhi/p/18005705

相关文章

  • MyBatis动态SQL教程
    动态SQL是MyBatis中非常强大且灵活的功能,允许你根据不同的条件构建SQL查询。这主要通过<if>、<choose>、<when>、<otherwise>、<foreach>等标签实现。查询场景/***根据条件查询员工信息*@paramemp*@return*/List<Emp>getEmpCondition(Empemp);if标签的使用......
  • MyBatis的常用动态标签
    1、<sql><!--<sqlid=""></sql>:设置一段SQL片段,即公共SQL,可以被当前映射文件中所有的SQL语句所访问<includerefid="empColumns"></include>:访问某个SQL片段--><sqlid="empColumns">selecteid,ename,age,sex,d......
  • MyBatis的XML配置文件及注释
    mybatis.xml<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration>......
  • Mybatis之resultMap详解
    resultMap作用是处理数据表中字段与java实体类中属性的映射关系。准备工作①创建数据库&数据表CREATEDATABASE`dbtest1`;CREATETABLE`t_emp`(`emp_id`intNOTNULLAUTO_INCREMENT,`emp_name`varchar(20)DEFAULTNULL,`age`intDEFAULTNULL,`gender`......
  • Spring-xml(+注解)方式整合第三方的框架-mybatis
    1)不需要自定义命名空间:MyBatisSpring整合Mybatis的步骤如下://原始配置<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.49</version></dependency><dependenc......
  • MyBatis查询功能演示
    准备工作①创建数据库&数据表##创建数据库CREATEDATABASE`dbtest1`;##创建数据表CREATETABLE`t_user`(`id`INTNOTNULLAUTO_INCREMENT,`username`VARCHAR(20)DEFAULTNULL,`password`VARCHAR(20)DEFAULTNULL,`age`INTDEFAULTNULL,`gender......
  • mybatisplus 数据批量插入 遇到错误该批次改为单条插入
    批量插入效率远大于单条数据插入,有事一批数据中有一条数据报错就会导致这一批次数据都插入失败,为了保证数据最大化的插入到数据库中,就需要批量转单条插入,单条插入中遇到错的数据跳过,保证其他数据正确的插入到数据库中。直接上代码1、实体类@TableName(value="yc_test_t")pu......
  • MyBatis获取参数值的两种方式
    MyBatis获取参数值的两种方式:${}和#{}${}的本质就是字符串拼接,#{}的本质就是占位符赋值。${}使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引号;但是#{}使用占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时,可以自动添......
  • mybatis xml 中的 大于、小于、等于 写法
    字符名称原符号替换符号小于<&lt;小于等于<=&lt;=大于>&gt;大于等于\>=&gt;=不等于<>&lt;&gt;与&&amp;单引号'&apos;双引号"&quot;......
  • MyBatis核心配置文件详解
    <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-......