mybatis入参为对象

1.对象传参方式一

Dao接口中方法

bash 复制代码
    /**
     * 根据对象中保存的属性查询emp对象
     * @param emp
     * @return
     */
    List<Emp> findByEmp(Emp emp);

mapper文件

bash 复制代码
   <select id="findByEmp" resultType="com.example.domain.Emp" parameterType="com.example.domain.Emp">
        select * from emp where name = #{name} or salary=#{salary} or job_id = #{job_id}
    </select>

结论:一个java对象作为方法的参数,使用对象的属性作为参数值使用。简单的语法:#{属性名},mybatis调用此属性的getXxx()方法获取属性值

2.对象传参方式二

编写接口,指定@Param注解参数(建议不要指定)

bash 复制代码
public interface LoginMapper {

    /**
     * 使用账号和密码登录 获取用户信息
     *
     * @param login 登录参数 account password
     * @return
     */
    Person selectPersonByAccountAndPassword01(@Param("login") Login login);
}

编写映射配置文件:

bash 复制代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.lihaozhe.mapper.LoginMapper">
    <!--使用账号和密码登录 获取用户信息-->
    <select id="selectPersonByAccountAndPassword01" resultType="person">
        SELECT p.id, nickname
        FROM login l
                 INNER JOIN person p
        WHERE pid = p.id
          AND account = #{login.account}
          AND auth_text = #{login.authText}
    </select>
</mapper>

mybatis传参

相关推荐
captain3768 小时前
MyBatis操作数据库(入门2)
java·数据库·spring boot·后端·spring·mybatis
正儿八经的少年2 天前
MyBatis 一对一、一对多 SQL
数据库·sql·mybatis
paopaokaka_luck3 天前
社区服务平台(加权协同过滤推荐、Jieba中文词频分析、WebSocket实时聊天、求助处理闭环、 活动积分闭环、ECharts多维分析)
java·前端·spring boot·mysql·echarts·mybatis
代码不停4 天前
MyBatis操作数据库
数据库·mybatis
wno7044 天前
Spring Boot中JdbcTemplate与Mybatis使用PostgreSQL
spring boot·postgresql·mybatis
lzhdim4 天前
100条常用SQL语句
数据库·sql·mysql·mybatis
景熙55235 天前
2.什么是业务后台系统
java·spring·tomcat·mybatis·jdbc
2601_962885726 天前
AkShare 和 Tushare 哪个好?区别、场景与选型
mybatis
_Evan_Yao6 天前
Redis 缓存穿透、击穿、雪崩,一次讲清!
java·spring·mybatis
paopaokaka_luck6 天前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节