千家信息网

Mybatis中怎么使用if语句

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家介绍Mybatis中怎么使用if语句,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一个参数情况DAO层Map selectPeriodByDataType(Stri
千家信息网最后更新 2026年11月02日Mybatis中怎么使用if语句

这篇文章给大家介绍Mybatis中怎么使用if语句,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

一个参数情况

DAO层

Map selectPeriodByDataType(String dataType);

XML文件

一个参数时,在if条件判断时,需要使用 _parameter 如果使用dataType,会报错如下

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'dataType' in 'class java.lang.String'        at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:77)        at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)        at com.sun.proxy.$Proxy115.selectOne(Unknown Source)        at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:166)        at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:82)        at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59)        at com.sun.proxy.$Proxy155.selectPeriodByDataType(Unknown Source)        at com.bjbde.trade.service.impl.WmsDictionaryDataServiceImpl.getBuyerRightsPeriod(WmsDictionaryDataServiceImpl.java:47)        at com.bjbde.trade.service.impl.WmsDictionaryDataServiceImpl$$FastClassBySpringCGLIB$$b29775c3.invoke()

解决方案

方案一

${alias}.DATA_VALUE dataValue  

if中的test使用单引号,dataType参数对应的为字符串,需要使用""来引起来。

方案二

${alias}.DATA_VALUE dataValue  

dataType对应的参数需要加上toString()方法,否则会将该值当做数字,从而找不到满足要求的条件。

多个参数情况

DAO层

 List selectDataProductList(DataProductListVO vo);

POJO类DataProductListVO

@Builder@Datapublic class DataProductListVO implements Serializable {    private static final long serialVersionUID = -6905484517733433984L;    //页码 默认值0    private Integer page = 0;    //页长 默认值0    private Integer size = 0;    private String industry;    private String ownership;    private String salNum;    private String wiVal;    private String name;    private String tag;    private String address;    private String pubTime;    private String comment;    private String type;}

多个参数时,常将参数封装成对象来处理。

xml文件

  ${alias}.DATA_ID,${alias}.NAME,${alias}.SH_IMG,${alias}.TYP PRODUCT_TYP,${alias}.INDUSTRY,${alias}.RANGE,${alias}.OWNERSHIP,${alias}.TRADING,${alias}.LABELS,${alias}.LINK_MAN,${alias}.LINK_PHONE,${alias}.PRICE,${alias}.HAS_SPEC,${alias}.SPEC,${alias}.WDESC,${alias}.PUB_TIME,${alias}.COMMENT_SCORE,${alias}.SALED_NUM,${alias}.VIEW_NUM,${alias}.FAVORITY_NUM,${alias}.WSTATE,${alias}.MBR_ID,${alias}.DEFAULT_WI     

关于Mybatis中怎么使用if语句就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

参数 方案 语句 内容 多个 情况 文件 更多 条件 帮助 不错 兴趣 字符 字符串 对象 小伙 小伙伴 引号 数字 文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 蓝思科技飞鸽互联网 科技创新与互联网经济 未来的互联网科技 狮子座互联网科技有限公司 大白互联网科技 现代科技和互联网有关系吗 承德科技产业互联网发展 互联网科技项目计划书材料类 阿大互联网科技有限公司 银川新华互联网科技学校联系电话 乌苏新华互联网科技做什么的 允成互联网科技有限公司融资 富国互联网金融科技混合基金 互联网相关科技技术 全球科技与互联网公司市值变化 科技和互联网行业的特点 互联网科技品牌 现代科技的标志之一的互联网 科技美学互联网 艺术 山东亿川互联网科技有限责任公司 小米移动互联网科技园 互联网科技工作委员会主任 互联网科技深圳 迪茉互联网科技 联恩商钥互联网科技有限公司 互联网汽车科技小镇 畅思互联网科技 昆明中奇联合互联网科技 如何强化互联网金融科技 科技发展第三阶段互联网时代
0