【kotlin后端数据库一些基本操作】

1、表中取某个字段的值

val qrcodeStateList = qrcodeDao.find(qrcodeDao.filter().isIn({ it::id }, qrCodeDownloadDto.guid)).filterNotNull()
val qrState = qrcodeStateList.first()
qrState.state

查出数据之后,先对数据.first,然后直接.字段名

2、批量更新

val newQRCodeList = qrcodeList.map { it.copy(state = QRCodeState.INVALID.toString()) }
        qrcodeDao.updateBatch(newQRCodeList) { setOf(it::state) }

先写赋值,it.copy。再写setof

val qrcodeParamList = qrcodeList.map{
                it.copy(
                    brand = param.brand,
                    series = param.series,
                    version = param.version,
                    itemName = param.itemName,
                    itemModel = param.itemModel,
                    qrCodeName = param.qrCodeName,
                    state = QRCodeState.AUDIT.toString(),
                )
            }
            qrcodeDao.updateBatch(qrcodeParamList){
                setOf(
                    it::brand,
                    it::series,
                    it::version,
                    it::itemName,
                    it::itemModel,
                    it::qrCodeName,
                    it::state,
                )
            }

3、filter里赋值

val filterMap = mutableMapOf("treeLevel" to "4", "deleted" to "0")
        if (keywords.isNotEmpty()) {
            filterMap["deptName*Like"] = keywords
        }

在mutableMapof里面写赋值的代码,基本是作为限制条件来用

4、 返回分页查询的结果

return BuilderModelQuery(t_es_product_qrcode(), t_es_product_qrcode()).addFilterChain {
            it.isIn(departmentList.isNotEmpty(), { it::departmentId }, departmentList.map { it.id })
            it.like(param.brand.isNotEmpty(), { it::brand }, param.brand)
            it.like(param.itemName.isNotEmpty(), { it::itemName }, param.itemName)
            it.like(param.itemModel.isNotEmpty(), { it::itemModel }, param.itemModel)
            it.like(param.creator.isNotEmpty(), { it::creator }, param.creator)
            it.ge(param.startTime.isNotBlank(), { it::createTime }, param.startTime)
            it.le(param.endTime.isNotBlank(), { it::createTime }, param.endTime)
            it.like(param.auditor.isNotEmpty(), { it::auditor }, param.auditor)
        }.page(param.page, param.total, param.size)

return里面,BuilderModelQuery(表名字,表名字).addFilterChain{查询条件}.page(param.page, param.total, param.size)

override fun productQRCodeQuery(param: QRCodeQueryDto): ModelPageable<t_es_product_qrcode?>

在函数名字后面,写,: ModelPageable<t_es_product_qrcode?>

@PostMapping("/query")
    fun productQRCodeQuery(@RequestBody param: QRCodeQueryDto): RestResultDto<ModelPageable<t_es_product_qrcode?>?> {
        val args = object {
            val param = param
        }
        return KinlongToolkit.restResult(currentClass, args) { productQRCodeService.productQRCodeQuery(param) }
    }

接口上,写,: RestResultDto<ModelPageable<t_es_product_qrcode?>?>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值