Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >mybatis 使用tips - 使用多个参数

mybatis 使用tips - 使用多个参数

作者头像
千往
发布于 2018-01-24 03:23:15
发布于 2018-01-24 03:23:15
1.7K00
代码可运行
举报
运行总次数:0
代码可运行

执行如下命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mvn -Dmybatis.generator.overwrite=true mybatis-generator:generate

可以使用mybatis generator

mybatis 使用多个参数

自定义方法需要根据多个查询条件去查询:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT * FROM `db_demo`.`hot_topic` WHERE lang='english' AND category='017' AND  topic_type='video' ORDER BY score DESC;

推荐使用注解的方式:

需要自定义方法:

mapper文件中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  //  使用注解
    JSONArray selectByLangAndCategoryAndTopicType(@Param("lang") String lang, @Param("category") String category, @Param("topicType") String topicType);

mapper.xml文件中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<select id="selectByLangAndCategoryAndTopicType" resultMap="ResultMapWithBLOBs" >
    <!--
      WARNING - @mbggenerated
      This element is automatically generated by MyBatis Generator, do not modify.
      This element was generated on Thu Oct 12 14:51:34 CST 2017.
    -->
    select
    <include refid="Base_Column_List" />
    ,
    <include refid="Blob_Column_List" />
    from hot_topic
    where lang= #{lang,jdbcType=VARCHAR} AND category = #{category,jdbcType=VARCHAR} AND topic_type=#{topicType,jdbcType=VARCHAR}
  </select>

其他方法

DAO层的函数方法 

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Public User selectUser(String name,String area);

对应的Mapper.xml  

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<select id="selectUser" resultMap="BaseResultMap">
    select  *  from user_user_t   where user_name = #{0} and user_area=#{1}
</select>

其中,#{0}代表接收的是dao层中的第一个参数,#{1}代表dao层中第二参数,更多参数一致往后加即可。

其他方法

此方法采用Map传多参数.

Dao层的函数方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Public User selectUser(Map paramMap);

对应的Mapper.xml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<select id=" selectUser" resultMap="BaseResultMap">
   select  *  from user_user_t   where user_name = #{userName,jdbcType=VARCHAR} and user_area=#{userArea,jdbcType=VARCHAR}
</select>

Service层调用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Private User xxxSelectUser(){
Map paramMap=new hashMap();
paramMap.put(“userName”,”对应具体的参数值”);
paramMap.put(“userArea”,”对应具体的参数值”);
User user=xxx. selectUser(paramMap);}

此方法不够直观,见到接口方法不能直接的知道要传的参数是什么。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-10-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Mybatis传多个参数(三种解决方案)
其中,#{0}代表接收的是dao层中的第一个参数,#{1}代表dao层中第二参数,更多参数一致往后加即可。
似水的流年
2018/01/14
7170
SpringBoot 系列教程 Mybatis+xml 整合篇
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
一灰灰blog
2020/02/11
9590
SpringBoot 系列教程 Mybatis+xml 整合篇
Spring Boot从入门到精通-集成mybatis
在上一节中我们简单的使用了spring的JdbcTemplate来进行数据库操作,但是在实际的项目中使用mybatis来连接数据库是更好的选择。接下来我们将在项目中集成mybatis。 首先在pom.xml中加入mybatis的依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <vers
我的小熊不见了丶
2019/05/22
5990
Spring Boot从入门到精通-集成mybatis
SpringBoot使用Mybatis-Generator
Mybatis-Generator是Mybatis提供的一个便捷型插件,自动可以为项目生产对应的实体类,Mapper,dao层。
dalaoyang
2018/09/18
1.4K0
SpringBoot使用Mybatis-Generator
Spring boot Mybatis 整合(完整版)
7.项目不使用application.properties文件 而使用更加简洁的application.yml文件: 将原有的resource文件夹下的application.properties文件删除,创建一个新的application.yml配置文件, 文件的内容如下:
全栈程序员站长
2022/08/10
4850
Spring boot Mybatis 整合(完整版)
mybatis中collection association优化使用及多参数传递
注意:JsonIgnoreProperties请忽略,这是解决对象间循环依赖在json序列化时出错的,不在本次内容中
肖哥哥
2019/09/28
3.5K0
Spring Boot:实现MyBatis动态创建表
在有些应用场景中,我们会有需要动态创建和操作表的需求。比如因为单表数据存储量太大而采取分表存储的情况,又或者是按日期生成日志表存储系统日志等等。这个时候就需要我们动态的生成和操作数据库表了。而我们都知道,以往我们使用MyBatis是需要提前生成包括Model,Mapper和XML映射文件的,显然因为动态生成和操作表的需求一开始表都是不存在的,所以也就不能直接通过MyBatis连接数据库来生成我们的数据访问层代码并用来访问数据库了。还好MyBatis提供了动态SQL,我们可以通过动态SQL,传入表名等信息然组装成建表和操作语句,接下来,我们就通过一个具体的案例来了解一下。
朝雨忆轻尘
2019/06/19
6.9K0
Spring Boot:实现MyBatis动态创建表
使用idea快速实现spring boot(1.5*版本) 与mybatis的整合
7.项目不使用application.properties文件 而使用更加简洁的application.yml文件: 将原有的resource文件夹下的application.properties文件删除,创建一个新的application.yml配置文件, 文件的内容如下:
凯哥Java
2019/06/30
3.2K0
SpringBoot教程(十一) | SpringBoot集成Mybatis
上一篇文章我们介绍了SpringBoot集成JdbcTemplate.简单体验了一下JdbcTemplate框架的用法,今天的内容比较重要,我们来介绍一下SpringBoot集成Mybatis的步骤。
一缕82年的清风
2022/04/08
7710
SpringBoot教程(十一) | SpringBoot集成Mybatis
Spring Boot Mybatis 搞反向工程,太方便咯。。
1.拷贝 Mybatis 反向工程配置文件到项目的根目录下 2. 根据项目及表的情况,修改 GeneratorMapper.xml 配置 如果使用 高版本 , 驱动类变为:com.mysql.cj
Java小咖秀
2021/02/20
3340
Spring Boot Mybatis 搞反向工程,太方便咯。。
关注微信公众号:Java技术栈,在后台回复:Mybatis,可以获取我整理的 N 篇 Mybatis 教程,都是干货。
Java技术栈
2020/11/23
7950
Spring Boot Mybatis 搞反向工程,太方便咯。。
mybatis逆向工程
就是我们可以根据数据库表,自动生成javabean,mapper接口和其对应的maaper.xml文件。
西西嘛呦
2020/08/26
5530
mybatis逆向工程
牛逼!在IDEA里搞Spring Boot Mybatis反向工程,太爽咯~
Java 的知识面非常广,面试问的涉及也非常广泛,重点包括:Java 基础、Java 并发,JVM、MySQL、数据结构、算法、Spring、微服务、MQ 等等,涉及的知识点何其庞大,所以我们在复习的时候也往往无从下手,今天小编给大家带来一套 Java 面试题,题库非常全面,包括 Java 基础、Java 集合、JVM、Java 并发、Spring全家桶、Redis、MySQL、Dubbo、Netty、MQ 等等,包含 Java 后端知识点 2000 +
程序员白楠楠
2020/11/27
4710
springboot之mybatis
Orm 框架的本质是简化编程中操作数据库的编码,发展到现在基本上就剩两家了,一个是宣称可以不用写一句 Sql 的 Hibernate,一个是可以灵活调试动态 Sql 的 Mybatis ,两者各有特点,在企业级系统开发中可以根据需求灵活使用。发现一个有趣的现象:传统企业大都喜欢使用 Hibernate ,互联网行业通常使用 Mybatis 。
Vincent-yuan
2020/10/27
3730
SpringBoot集成mybatis配置
一个有趣的现象:传统企业大都喜欢使用hibernate,互联网行业通常使用mybatis;之所以出现这个问题感觉与对应的业务有关,比方说,互联网的业务更加的复杂,更加需要进行灵活性的处理,所以mybatis的灵活性特点更为适合其
小勇DW3
2018/09/29
2.5K0
从零开始做网站2-springboot整合mybatis
昨天把项目建好了,底子有了然后就是进行下一步开发了,先整合下Mybatis,使用Mybatis框架做数据持久化操作。
sunonzj
2022/06/21
2610
从零开始做网站2-springboot整合mybatis
mybatis配置文件模板(增删查改)
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
用户1220053
2018/02/09
1.2K0
【Mybatis系列】Mybatis入门
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
框架师
2022/03/08
5880
【Mybatis系列】Mybatis入门
Spring+SpringMVC+Mybatis(开发必备技能)04、mybatis自动生成mapper_dao_model(包含工具与视频讲解) 纯绿色版本、配套使用视频,100%运行成功
百度网盘链接:链接:https://pan.baidu.com/s/11cO4roAQ108D9E06IHrmGw 提取码:h63e
红目香薰
2022/11/30
3430
Spring+SpringMVC+Mybatis(开发必备技能)04、mybatis自动生成mapper_dao_model(包含工具与视频讲解) 纯绿色版本、配套使用视频,100%运行成功
springboot(六):如何优雅的使用mybatis
这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis。到网上找了一下关于spring boot和mybatis组合的相关资料,各种各样的形式都有,看的人心累,结合了mybatis的官方demo和文档终于找到了最简的两种模式,花了一天时间总结后分享出来。 orm框架的本质是简化编程中操作数据库的编码,发展到现在基本上就剩两家了,一个是宣称可以不用写一句SQL的hibernate,一个是可以灵活调试动态sq
纯洁的微笑
2018/04/19
1.4K0
推荐阅读
相关推荐
Mybatis传多个参数(三种解决方案)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验