当前位置: 首页 > news >正文

四川省城乡住房和城乡建设厅网站做网站设计的电话

四川省城乡住房和城乡建设厅网站,做网站设计的电话,西安专业网络推广公司,大连网站设计报价目录 原理#xff1a;MybatisPlus通过扫描实体类#xff0c;并基于反射获取实体类信息作为数据库信息。 ​编辑1.添加依赖 2.常用注解 3.常见配置#xff1a; 4.条件构造器 5.QueryWrapper 6.UpdateWrapper 7.LambdaQueryWrapper:避免硬编码 8.自定义SQL 9.Iservic…目录 原理MybatisPlus通过扫描实体类并基于反射获取实体类信息作为数据库信息。 ​编辑1.添加依赖 2.常用注解 3.常见配置 4.条件构造器 5.QueryWrapper 6.UpdateWrapper 7.LambdaQueryWrapper:避免硬编码 8.自定义SQL 9.Iservice接口 10.案例实现接口​编辑 11.Lambda 12.批量新增 13.代码生成 14.静态工具 15.逻辑删除 16.通用枚举 17. JSON类型处理器 18. 生成秘钥 19.分页插件 原理MybatisPlus通过扫描实体类并基于反射获取实体类信息作为数据库信息。 规定 1.添加依赖 service 继承IService实体类实现类中要继承IService的实现类ServiceImplmapper,实体类 自定义 mapper 要继承BaseMapper实体类 新增insert(实体)  查询selectByid(5L) 批量查selectBatchIds(List.of(1L,2L,3L)) 修改updateById(实体)  删除deleteById(5L) 2.常用注解 TableName(”表名”)指定表名 TableId(value””,type”主键类型”):用来指定表中的主键字段信息 TableField(“”):用来指定表中的普通字段信息 转义TableField(“ ‘order’ ”); 成员变量不是数据库字段TableField(exist false) 3.常见配置 4.条件构造器 5.QueryWrapper 无论是修改、删除、查询都可以使用QueryWrapper来构建查询条件 Eg:查询查询出名字中带o的存款大于等于1000元的人 // 2.查询数据 ListUser users userMapper.selectList(wrapper); users.forEach(System.out::println); 更新更新用户名为jack的用户的余额为2000 userMapper.update(user, wrapper)//实体类wrapper 6.UpdateWrapper SET的赋值结果是基于字段现有值的 更新id为1,2,4的用户的余额扣200 UPDATE user SET balance balance - 200 WHERE id in (1, 2, 4) 前面实体为更新的内容后面为更新的条件 .setSql(balance balance - 200) userMapper.update(null, wrapper); 7.LambdaQueryWrapper:避免硬编码 8.自定义SQL 利用MyBatisPlus的wrapper来构建复杂的where条件然后自己定义SQL语句剩下的部分。利用Wrapper生成查询条件再结合Mapper.xml编写SQL 拼接 ${ew.customSqlSegment} 9.Iservice接口 自定义Service继承Iservice实体自定义实现类继承ServiceImpl自定义Mapper,实体再实现自定义接口 save新增remove删除update更新 get查询单个结果 list查询集合结果 count计数 page分页查询 多个ID查userService.listByIds(List.of(1L,2L,3L).var Users.forEach(System.out::println) LambdaQuery() LambdaUpdate() 10.案例实现接口 11.Lambda 实现一个根据复杂条件查询用户的接口查询条件如下 name用户名关键字可以为空status用户状态可以为空minBalance最小余额可以为空maxBalance最大余额可以为空 .one()最多1个结果.list()返回集合结果.count()返回计数结果 2.扣减后余额为0则将用户status修改为冻结状态2 // 4.扣减余额 update tb_user set balance balance - ? int remainBalance user.getBalance() - money; lambdaUpdate() .set(User::getBalance, remainBalance) // 更新余额 .set(remainBalance 0, User::getStatus, 2) // 动态判断是否更新status .eq(User::getId, id) .eq(User::getBalance, user.getBalance()) // 乐观锁 .update(); 12.批量新增 13.代码生成 14.静态工具 有的时候Service之间也会相互调用为了避免出现循环依赖问题MybatisPlus提供一个静态工具类Db 1.需求改造根据id用户查询的接口查询用户的同时返回用户收货地址列表 15.逻辑删除 对于一些比较重要的数据我们往往会采用逻辑删除的方案即 在表中添加一个字段标记数据是否被删除当删除数据时把标记置为1查询时只查询标记为0的数据 一旦采用了逻辑删除所有的查询和删除逻辑都要跟着变化非常麻烦。 为了解决这个问题MybatisPlus就添加了对逻辑删除的支持。 注意只有MybatisPlus生成的SQL语句才支持自动的逻辑删除自定义SQL需要自己手动处理逻辑删除。 例如逻辑删除字段deleted 删除操作Update user SET deleted 1 WHERE id 1 AND deleted 0 查询操作SELECT * FROM  User WHERE deleted 0 方法与普通删除一模一样但是底层的SQL逻辑变了 16.通用枚举 像这种字段我们一般会定义一个枚举做业务判断的时候就可以直接基于枚举做比较。但是我们数据库采用的是int类型对应的PO也是Integer。因此业务操作时必须手动把枚举与Integer转换非常麻烦。 枚举类型与数据库类型自动转换。 1. 在application.yaml文件中添加配置 mybatis-plus:  configuration:default-enum-type-handler: com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler 17. JSON类型处理器 数据库的user表中有一个info字段是JSON类型 格式像这样 {age: 20, intro: 佛系青年, gender: male} 而目前User实体类中却是String类型 将User类的info字段修改为UserInfo类型并声明类型处理器 测试可以发现所有数据都正确封装到UserInfo当中了 同时为了让页面返回的结果也以对象格式返回我们要修改UserVO中的info字段 此时在页面查询结果如下 18. 生成秘钥 19.分页插件
http://www.hkea.cn/news/14262516/

相关文章:

  • 网站不备案可以登录吗网站建设理论
  • 网站开发的话术海淀区网站建设公司
  • 高校网站建设评比标准模板建站可以做优化吗
  • dw做网站的实用特效phpnow 搭建本地网站
  • 网站建设公司中企动力wordpress怎么看代码
  • 住房和城乡建设部网站施工员张家口网站建设开发
  • 风铃上做的网站发布时号码填写安徽合肥做网站的公司有哪些
  • 苏州网站建设制作网络公司公司门户最新版下载
  • 曲沃网站开发seo网站优化策划案
  • 东莞建站多少钱wordpress delete_option
  • 网页设计与网站建设在线考试石油大学东莞市做网站的公司哪家好
  • 深圳做企业网站哪家好番禺怎样优化网站建设
  • 中国建设人才网站展开描述建设一个网站的具体步骤
  • 宁波专业网站建设公司中国最大的装修网络平台
  • 园林企业建设网站秦皇岛在建工程项目
  • wordpress 英文企业站普洱高端网站建设价格
  • 企业建设网站维护如何建立网站详细流程
  • 关键词如何快速排名seo搜索优化邵阳
  • 做网站需要域名还需要什么做网站的基本功能
  • 如何做监控网站百度商桥接入网站
  • 企业网站 个人备案dw网页制作上机试题
  • 潼南国外免费自助建站自己没有货源怎么开网店
  • 泰州企业网站建设公司广告代理商公司
  • 北京建设网站活动图片网站法人与负责人
  • asp 网站源码做房产的一般用哪个网站
  • 上海营销型网站seo南宁公司网站开发
  • 如何在腾讯云建设网站wordpress安装无法链接数据库文件
  • 网站建设评比办法济南市住房城乡建设网
  • 网站设计平台及开发工具wordpress 获取当前id
  • 曲阜网站建设公司开拼多多网店怎么运营