jpa怎么传参到in中_Java中如何处理开关状态的属性字段?
或许,大家在项目的开发中经常会遇到开关状态,例如0关闭,1开启,直接在数据库也是保存为int或tinyint,这样前端后端数据库都统一了一个值,后端使用Integer去接数据库和前端,看着没有什么大毛病,但是仔细想想会有以下的弊端:
一、内存占用过大
Integer为4个字节共32个比特位,造成了内存资源的严重浪费。
二、违背代码整洁之道
逻辑判断冗余不美观,例如:
if("0".equals(obj.getIsOn)){//业务代码}
显然这对于一个有代码洁癖的人来说是无法忍受的,那么应该怎么解决这个问题呢?
三、解决方案
在实体类中将开关属性定义为Boolean类型,数据库字段设定为bit(1),即一个比特位。这里mybatis或者JPA会自动为我们映射Java bean中的Boolean和数据库中的bit,映射关系是0为false,非0为true,前后端直接传true or false,这样即解决了内存浪费的问题,又使代码更加优雅简洁。
if(obj.getIsOn){//业务代码}
当然这样极易出现NPE,也不是没有解决办法,通过在业务上设置必填项或者默认值即可解决。
感觉对自己有帮助的朋友不妨点个赞关注转发一波,小僧将不胜感激哦
jpa怎么传参到in中_Java中如何处理开关状态的属性字段?相关推荐
- java url传参中文乱码问题_java中url传中文参数出现乱码
缘由:java Http请求传输时将url以ISO-8859-1编码,服务器收到字节流后默认会以ISO-8859-1编码来解码成字符流(形成中文乱码).服务器 方法一:编码 咱们须要把request. ...
- java 传参需要定义吗_java的传参究竟是按值传递的还是按引用传递的
这里来弄清楚Java的传参究竟是按值传递的还是按引用传递的. 形参和实参 传参的概念里,有形参和实参的区分.形参是定义方法名和方法体的时候使用的参数,目的是用来接收调用该方法的时候传入的参数:实参是调 ...
- java调用python,传参json字符串,含中文传参
java调用python,传参json字符串 python脚本内容(test.py) # -*- coding: utf-8 -*-def main(input):return input java调 ...
- URL传参小用法获取url中的参数
写页面的时候发现的小用法,记录下来,关于url静态传参的问题. 首先列举下获取URL中参数的几种方法 方法一:正则法 这个正则是寻找&+url参数名字=值+&*/ 这里参考网址 ...
- @query传参_前端框架vue中query和params传参
注意(用params传参,F5强制刷新参数会被清空,用query,由于参数适用路径传参的所以F5强制刷新也不会被清空.(传参强烈建议适用string)) 也可以选用sessionstorage/loc ...
- jpa怎么传参到in中_Spring Boot中的测试
简介 本篇文章我们将会探讨一下怎么在SpringBoot使用测试,Spring Boot有专门的spring-boot-starter-test,通过使用它可以很方便的在Spring Boot进行测试 ...
- jpa怎么传参到in中_JPA 中 in 的方法 注意参数一定要是List
本文将为您描述JPA 中 in 的方法 注意参数一定要是List,具体完成步骤:@Query(nativeQuery = true, value = "SELECT aea.`create_ ...
- jpa oracle 传参int类型判空_springboot学习-springboot使用spring-data-jpa操作MySQL数据库...
我们在上一篇搭建了一个简单的springboot应用,这一篇将介绍使用spring-data-jpa操作数据库. 新建一个MySQL数据库,这里数据库名为springboot,建立user_info数 ...
- jpa oracle 传参int类型判空_企业级Java开发之图解JPA核心构件
编者按: 企业级的软件开发中,Java一直都是中流砥柱.在Java EE8之后,Oracle公司把企业级Java标准控制权转交Eclipse基金.最新或·和以后的企业级Java将冠名为Jakarta ...
最新文章
- python自加自减_Java自增和自减运算符(++和--)
- Xilinx axi dma driver 驱动构建 (二)
- 一台计算机有64,在同一台计算机上使用带有32位和64位Altium设计软件的数据库元件库...
- c++ builder 读取指定单个名称节点的值
- 防范SQL注入的几种方法 4
- 嵌入式linux应用程序实例,嵌入式Linux应用程序访问物理地址的实例
- BeanFactory 简介以及它 和FactoryBean的区别
- 合并K个有序数组(链表)【字节跳动面试算法题】
- mysql dump 锁表_运行MySQLDump而不锁定表
- web安全day16:人人都要懂的OSI和TCP/IP协议簇
- 用C语言写烟花,给心中的那个人看!
- 20190301 小中大
- 实现高效的英文单词前缀匹配
- 8421BCD码与十进制的转换
- 曾经改变了千万人的人生经典语录
- SVG 矩形rect 学习
- 贵有恒,何必三更起五更睡;最无益,只怕一日曝十日寒。
- USB 3.0规范中译本 第2章 术语及缩略语
- 《Windows 8 权威指南》——2.2 Windows 8 Metro界面
- 2023计算机毕业设计SSM最新选题之java公交电子站牌管理系统软件9430l
热门文章
- 工业相机选型_工业相机与镜头的选型方法
- php裁剪图片白边,php生成缩略图填充白边(等比缩略图方案)_PHP
- 力扣883.三维体投影面积
- Spark的相关概念说明和检查点机制
- icomoon.io生成字体图标
- jQuery入门:认识jQuery
- <button>与<input type =“ button” />。使用哪个?
- Python的list方法append和extend有什么区别?
- (转)SpringMVC学习(九)——SpringMVC中实现文件上传
- ApacheCN Linux 译文集(二) 20211206 更新