广告
返回顶部
首页 > 资讯 > 后端开发 > Python >mybatis中如何用tinyint保存Boolean类型
  • 629
分享到

mybatis中如何用tinyint保存Boolean类型

2024-04-02 19:04:59 629人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录mybatis用tinyint保存Boolean类型一、boolean类型二、我们的实体类三、页面select标签mybatis更新时如果数据类型为boolean型遇到的问题my

mybatis用tinyint保存Boolean类型

一、boolean类型

Mysql保存BOOLEAN值时用1代表TRUE,0代表FALSE,boolean在mysql里的类型为tinyint(1),

Mysql里有四个常量:true,false,TRUE,FALSE,它们分别代表1,0,1,0,

mysql> select true,false,TRUE,FALSE;
+------+-------+------+-------+
| TRUE | FALSE | TRUE | FALSE |
+------+-------+------+-------+
|    1 |     0 |    1 |     0 |
+------+-------+------+-------+

可以如下插入boolean值:insert into [xxxx(xx)] values(true),当然也可以values(1);

MySQL没有boolean类型。这也是比较奇怪的现象。例:

create table xs
(
   id int primary key,
   bl boolean
)

这样是可以创建成功,但查看一下建表后的语句,就会发现,mysql把它替换成tinyint(1)。也就是说mysql把boolean=tinyInt了。

二、我们的实体类

可以根据自己的习惯直接设置成boolean也可以使用int,数据库保存时会自动将true、false转换成1/0。

mybatis中用tinyint保存Boolean类型的时候,直接使用false和true就可以,mybatis会自动映射。

private Boolean comment ;

但是要注意的是,一般的mapper.xml中写where的时候会判断

<if test="comment !=null and comment !=''">  
    comment=#{comment},  
</if>  

但是这里要判断的时候就要去掉后边的不等于空字符串了,应该使用如下的判断

<if test="comment !=null">  
    comment=#{comment},  
</if>  

这种判空情况很多,boolean、date类型,都不能使用!=''

三、页面select标签

使用值true、false时的展示选择问题

<label class="col-sm-1 control-label padA01">是否是物联网表</label>
<div class="col-sm-3">
    <select id="isNbMeter" class="fORM-control">
        <option value=true selected>是</option>
        <option value=false>否</option>
    </select>
</div>

选择后,保存上传,不需要什么处理,直接保存值为boolean类型,与实体类一致,mysql自动转换成int型保存。

但是页面展示时,此类型的赋值展示跟其他值不一样:

$("#installDate").val("");
$("#inUseMeter").val=true;
$("#inUseMeter").find("option[value=true]").attr("selected",true);
$("#isNbMeter").val=true;
$("#imei").val("");
$("#meterState").val(1);

存在问题:

当select值设为true后,在对他设为false不起作用,值还是true,没有改变,不知什么原因?

$("#inUseMeter").val=false;
$("#inUseMeter").find("option[value=false]").attr("selected",true);

第一次设为true后,在设为false不再起作用

mybatis更新时如果数据类型为boolean型遇到的问题

系统框架使用SSM当更新的数据类型为boolean时使用if标签判断不能判断时段是否为空,只判断字段是否等于null

<if test="flag != null">
   flag = #{flag,jdbcType=TINYINT},
</if>

否则当字段为false时,不能更新。

因为在mybatis底层当传入进来的字段没有默认值的时候是空也就是false,你传入进来的字段值为false,在xml中的if判断就会转换为‘’,导致修改不成功这个字段的值。

所以在修改boolean类型字段的时候只需要判断是否为null就行了

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: mybatis中如何用tinyint保存Boolean类型

本文链接: https://www.lsjlt.com/news/168202.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mybatis中如何用tinyint保存Boolean类型
    目录mybatis用tinyint保存Boolean类型一、boolean类型二、我们的实体类三、页面select标签mybatis更新时如果数据类型为boolean型遇到的问题my...
    99+
    2022-11-13
  • 如何在JavaScript中定义boolean类型
    本篇文章给大家分享的是有关如何在JavaScript中定义boolean类型,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。javascript是一种什么语言javascript...
    99+
    2023-06-14
  • Mybatis如何从数据库中获取数据存为List类型(存为model)
    目录从数据库中获取数据存为List类型(存为model)Mybatis存储List类型数据从数据库中获取数据存为List类型(存为model) 从数据库中获取的数据,存到一个mode...
    99+
    2022-11-13
  • mybatis 如何利用resultMap复杂类型list映射
    mybatis resultMap复杂类型list映射 映射泛型为对象 xml <resultMap id="internetDataDTO" type="com.mdm....
    99+
    2022-11-12
  • mybatis中如何传递单个String类型的参数
    目录如何传递单个String类型的参数mybatis仅传入一个String类型参数报错  目前我知道有两种方式解决问题如何传递单个String类型的参数 使用mybatis接口参数只...
    99+
    2022-11-12
  • 如何使用mybatis自定义日期类型转换器
    本篇内容主要讲解“如何使用mybatis自定义日期类型转换器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用mybatis自定义日期类型转换器”吧!前言使用mybatis中的typeHan...
    99+
    2023-06-29
  • 数据库中blob类型如何存取
    在数据库中存取blob类型的数据,可以使用以下方法:1. 通过编程语言的API将blob数据写入数据库。大多数编程语言都提供了API...
    99+
    2023-09-21
    数据库
  • C#中如何使用值类型和引用类型
    C#中如何使用值类型和引用类型,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1。变量:变量是指在程序的运行过程中随时可以发生变化的量。语法:数据类型 变量名2。常量:也称常数,...
    99+
    2023-06-17
  • 如何在 PHP 中存储 NumPy 数据类型?
    在 PHP 中存储 NumPy 数据类型是一个常见的需求,因为 NumPy 提供了很多高效的数学运算和数据处理功能,而 PHP 是一种常用的服务器端编程语言,它可以方便地与 Web 应用程序集成。在本文中,我们将介绍如何在 PHP 中存储 ...
    99+
    2023-10-02
    数据类型 存储 numpy
  • 如何在 ASP 中存储 numy 数据类型?
    ASP 是一种流行的服务器端脚本语言,它的运行环境是 Microsoft Windows。在 ASP 中,我们可以使用多种数据类型来存储数据,包括数字、字符串、布尔值和日期等。但是,如果我们需要在 ASP 中存储 numy 数据类型,该怎么...
    99+
    2023-08-03
    存储 numy 数据类型
  • mybatis plus中空字符串无法保存到数据库如何解决
    mybatis plus中空字符串无法保存到数据库如何解决?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。解决办法在字段上加上@TableField(strategy&nbs...
    99+
    2023-06-06
  • Java中如何区分引用类型和原始类型
    今天就跟大家聊聊有关Java中如何区分引用类型和原始类型,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java中区分引用类型和原始类型 (转)[@more@]下表列出了原始类型以及它...
    99+
    2023-06-03
  • java中如何使double类型数据保留两位小数
    方式一:保留两位小数DecimalFormat df = new DecimalFormat("#.00"); double d1 = 1.23456 double d2 = 2.0; double d3 = 0.0; S...
    99+
    2019-05-04
    java double 小数 两位
  • java中如何使float类型数据保留两位小数
    方法1:用Math.round计算,这里返回的数字格式的float price=89.89; int itemNum=3; float totalPrice=price*itemNum; float num=(float)(Math.rou...
    99+
    2018-02-14
    java基础 java float 两位 小数
  • SpringBoot+Mybatis项目中如何使用Redis做Mybatis的二级缓存
    这篇文章给大家分享的是有关SpringBoot+Mybatis项目中如何使用Redis做Mybatis的二级缓存的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。介绍使用mybatis时可以使用二级缓存提高查询速度,...
    99+
    2023-05-30
    springboot redis mybatis
  • 如何使用GO语言存储数据类型?
    GO语言是一种非常流行的开发语言,它的速度非常快,可以用于开发高性能应用程序。但是,GO语言的强大并不仅限于速度,它还有很多其他的特性,比如存储数据类型。在本文中,我们将介绍如何使用GO语言存储不同类型的数据,并提供一些实际的演示代码。 一...
    99+
    2023-11-12
    数据类型 存储 javascript
  • mybatis mapper.xml中如何根据数据库类型选择对应SQL语句
    目录mapper.xml根据数据库类型选择对应SQL语句1、spring-database.xml文件中配置2、mapper.xml文件中配置mapper.xml动态SQL语句用法i...
    99+
    2022-11-13
  • MySQL中BIGINT数据类型如何存储整数值
    目录前言mysql BIGINT例子示例 1示例 2示例 3示例 4结论前言 本文重点介绍 MySQL BIGINT 数据类型,并研究我们如何使用它来存储整数值。我们还将了解它的范围、存储大小和各种属性,包括有符号、无符...
    99+
    2022-10-26
  • 如何使用Git来存储Java中的不同数据类型?
    Git是一个流行的版本控制工具,它可以帮助开发者在开发过程中管理和追踪代码的变化。在Java开发中,我们经常会使用不同的数据类型,如何在Git中存储这些数据类型呢?本文将为您介绍如何使用Git来存储Java中的不同数据类型。 一、Git基础...
    99+
    2023-09-18
    git 数据类型 存储
  • 如何在ASP中使用数据类型存储学习笔记?
    ASP是一种被广泛应用的服务器端脚本语言,它具有简单易学、易于开发、良好的可扩展性等优点。在ASP中,我们可以使用不同的数据类型来存储学习笔记,包括字符串、数字、日期、布尔值等。下面我们就来详细介绍一下如何在ASP中使用数据类型存储学习笔记...
    99+
    2023-10-16
    学习笔记 存储 数据类型
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作