java中的与、或和与或操作

页面上是checkbox,多选会把所选的值用逗号分隔存到数据库中,这样如果其他接口调用判断所传进来的值是否符合checkbo选中的值,如果在CheckBox选中的值是1,2,那么数据库中存储的就是1,2,其他接口传进来一个值1,如果要判断传进来的值1时候在1,2中,那么mysql要用like,进行判断,此外,还有可能出现,如果数据库中存储的是1,2,11,这样判断的结果也是不准确的。

  那么这时候与操作就可以用上了即&,

如果页面上有四个CheckBox,那么可以对应相应的值1,2,4,8.

| 表示相加(这个相加是指当左右的值分别是2的次方的时候)

1|2 = 3

1|2|4 = 7

1|4 = 5

例如1|3 = 3表示的不是相加


异或操作:表示减(这个是指这个数据是有2的次方相加组成的)

3^1 = 2

3^2 =1

7^1 = 6

7^2 = 5

7^4 = 3


4^2 = 6

5^3 = 6


&用来判断

例如存到数据库中的值是1+2+4+8 = 15;

传进来的值是1,

那么15&1= 1,就说明这个值是存在的

15&2= 2,15&3 =3

15&4 = 4

15&8 =8

 &对应列为数据库中可能存在的值,行为可能传进来的值,

这个就是判断大的数字有没有可能是小的数字和2的某次方组成的,如果是,则返回小的数字,否就返回0

 1248
11000
20200
31200
40040
51040
74240
80008
151248


mybatis中加上条件

and (ass.region <![CDATA[ & ]]> #{region}) = #{region}
and (ass.source <![CDATA[ & ]]> #{source}) = #{source}


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值