mybatis中如何用tinyint保存Boolean类型_第1页
mybatis中如何用tinyint保存Boolean类型_第2页
mybatis中如何用tinyint保存Boolean类型_第3页
mybatis中如何用tinyint保存Boolean类型_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

mybatis用tinyint保存Boolean类型

一、boolean类型

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

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

mysqlselecttrue,false,TRUE,FALSE;

+------+-------+------+-------+

|TRUE|FALSE|TRUE|FALSE|

+------+-------+------+-------+

|

1|

0|

1|

0|

+------+-------+------+-------+

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

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

createtablexs

idintprimarykey,

blboolean

)

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

二、我们的实体类

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

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

privateBooleancomment;

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

iftest="comment!=nullandcomment!=''"

comment=#{comment},

/if

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

iftest="comment!=null"

comment=#{comment},

/if

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

三、页面select标签

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

label是否是物联网表/label

div

selectid="isNbMeter"

optionvalue=trueselected是/option

optionvalue=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

iftest="flag!=null"

flag=#{flag,jdbcType=TINYINT},

/if

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

因为在mybatis底层当传入进来的字段没有默认值的时候是空也就是false,你传入进来的字段值为f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论