最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mybatis中如何用tinyint保存Boolean類型

 更新時間:2022年09月22日 14:33:59   作者:小蘋果1357  
這篇文章主要介紹了mybatis中如何用tinyint保存Boolean類型,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

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),當(dāng)然也可以values(1);

MySQL沒有boolean類型。這也是比較奇怪的現(xiàn)象。例:

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

這樣是可以創(chuàng)建成功,但查看一下建表后的語句,就會發(fā)現(xiàn),mysql把它替換成tinyint(1)。也就是說mysql把boolean=tinyInt了。

二、我們的實體類

可以根據(jù)自己的習(xí)慣直接設(shè)置成boolean也可以使用int,數(shù)據(jù)庫保存時會自動將true、false轉(zhuǎn)換成1/0。

mybatis中用tinyint保存Boolean類型的時候,直接使用false和true就可以,mybatis會自動映射。

private Boolean comment ;

但是要注意的是,一般的mapper.xml中寫where的時候會判斷

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

但是這里要判斷的時候就要去掉后邊的不等于空字符串了,應(yīng)該使用如下的判斷

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

這種判空情況很多,boolean、date類型,都不能使用!=''

三、頁面select標(biāo)簽

使用值true、false時的展示選擇問題

<label class="col-sm-1 control-label padA01">是否是物聯(lián)網(wǎng)表</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自動轉(zhuǎn)換成int型保存。

但是頁面展示時,此類型的賦值展示跟其他值不一樣:

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

存在問題:

當(dāng)select值設(shè)為true后,在對他設(shè)為false不起作用,值還是true,沒有改變,不知什么原因?

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

第一次設(shè)為true后,在設(shè)為false不再起作用

mybatis更新時如果數(shù)據(jù)類型為boolean型遇到的問題

系統(tǒng)框架使用SSM當(dāng)更新的數(shù)據(jù)類型為boolean時使用if標(biāo)簽判斷不能判斷時段是否為空,只判斷字段是否等于null

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

否則當(dāng)字段為false時,不能更新。

因為在mybatis底層當(dāng)傳入進(jìn)來的字段沒有默認(rèn)值的時候是空也就是false,你傳入進(jìn)來的字段值為false,在xml中的if判斷就會轉(zhuǎn)換為‘’,導(dǎo)致修改不成功這個字段的值。

所以在修改boolean類型字段的時候只需要判斷是否為null就行了

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringCloud集成Micrometer Tracing的代碼工程

    SpringCloud集成Micrometer Tracing的代碼工程

    Micrometer Tracing 是一個用于微服務(wù)架構(gòu)的追蹤庫,它提供了一種簡單而強(qiáng)大的方式來收集和報告分布式系統(tǒng)中的性能和調(diào)用鏈信息,Micrometer Tracing 旨在幫助開發(fā)者和運維人員理解微服務(wù)之間的交互,本文給大家介紹了如何在 Spring Cloud 集成 Micrometer Tracing
    2024-12-12
  • Java JSch遠(yuǎn)程執(zhí)行Shell命令的方法

    Java JSch遠(yuǎn)程執(zhí)行Shell命令的方法

    本文主要介紹了Java JSch遠(yuǎn)程執(zhí)行Shell命令,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 快速解決idea @Autowired報紅線問題

    快速解決idea @Autowired報紅線問題

    這篇文章主要介紹了快速解決idea @Autowired報紅線問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Javaweb 定時器功能代碼實例

    Javaweb 定時器功能代碼實例

    這篇文章主要介紹了Javaweb 定時器功能代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • 一文帶你深入了解Java8 Stream流式編程

    一文帶你深入了解Java8 Stream流式編程

    在實際項目當(dāng)中,若能熟練使用Java8 的Stream流特性進(jìn)行開發(fā),就比較容易寫出簡潔優(yōu)雅的代碼。本文主要就是基于實際項目常用的Stream Api流式處理總結(jié),希望對大家有所幫助
    2023-04-04
  • 解析springboot集成AOP實現(xiàn)日志輸出的方法

    解析springboot集成AOP實現(xiàn)日志輸出的方法

    如果這需要在每一個controller層去寫的話代碼過于重復(fù),于是就使用AOP定義切面 對其接口調(diào)用前后進(jìn)行攔截日志輸出。接下來通過本文給大家介紹springboot集成AOP實現(xiàn)日志輸出,需要的朋友可以參考下
    2021-11-11
  • springboot+Oauth2實現(xiàn)自定義AuthenticationManager和認(rèn)證path

    springboot+Oauth2實現(xiàn)自定義AuthenticationManager和認(rèn)證path

    本篇文章主要介紹了springboot+Oauth2實現(xiàn)自定義AuthenticationManager和認(rèn)證path,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 使用Java應(yīng)用程序添加或刪除 PDF 中的附件

    使用Java應(yīng)用程序添加或刪除 PDF 中的附件

    當(dāng)我們在制作PDF文件或者PPT演示文稿的時候,為了讓自己的文件更全面詳細(xì),就會在文件中添加附件,那么如何添加或刪除PDF中的附件呢,今天通過本文給大家詳細(xì)講解,需要的朋友參考下吧
    2023-01-01
  • Java輸入輸出語句舉例詳解(通俗易懂!)

    Java輸入輸出語句舉例詳解(通俗易懂!)

    這篇文章主要給大家介紹了關(guān)于Java輸入輸出語句的相關(guān)資料,作為一種常用的編程語言,Java提供了多種輸入輸出的方式,用于與用戶進(jìn)行數(shù)據(jù)交互或處理文件數(shù)據(jù),需要的朋友可以參考下
    2023-10-10
  • 特殊數(shù)據(jù)結(jié)構(gòu)之使用Java實現(xiàn)單調(diào)棧示例

    特殊數(shù)據(jù)結(jié)構(gòu)之使用Java實現(xiàn)單調(diào)棧示例

    這篇文章主要為大家介紹了特殊數(shù)據(jù)結(jié)構(gòu)之使用Java實現(xiàn)單調(diào)棧示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09

最新評論

台北市| 大宁县| 虎林市| 台安县| 宜章县| 葵青区| 洪湖市| 鸡东县| 淮北市| 祥云县| 凤庆县| 屏东市| 灵川县| 班戈县| 高唐县| 宁陕县| 九台市| 镇江市| 中西区| 岑溪市| 大方县| 丰城市| 徐汇区| 伊吾县| 大新县| 武冈市| 绿春县| 海伦市| 通渭县| 堆龙德庆县| 达孜县| 织金县| 宕昌县| 牡丹江市| 长汀县| 中超| 昔阳县| 连平县| 南召县| 阿城市| 格尔木市|