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

衡水电商网站建设价格网站开发 介绍 回扣

衡水电商网站建设价格,网站开发 介绍 回扣,免费网站建设方案优化,成都公司注册哪家好了解MyBatis-Plus 什么是MyBatis-Plus#xff1f; mybatisPlus在mybatis的基础上继续针对CRUD操作进行优化#xff0c;在原有的基础上提供了公共的接口BaseMapper#xff0c;我们在创建接口Mapper时只需要继承这个接口即可调用MyBatisPlus已经提供好的方法#xff0c;sql…了解MyBatis-Plus 什么是MyBatis-Plus mybatisPlus在mybatis的基础上继续针对CRUD操作进行优化在原有的基础上提供了公共的接口BaseMapper我们在创建接口Mapper时只需要继承这个接口即可调用MyBatisPlus已经提供好的方法sql和方法都是已经被MyBatisPlus内置的 并且MyBatisPlus在MyBatis的基础上又扩展了更加强大的功能比如内置了分页插件、代码自动生成等等极大的优化了开发效率 体验MyBatisPlus 1、创建SpringBoot项目 2、编写实体类以及其对应接口并继承BaseMapper将编写好的实体类填充至泛型接口中不需要声明任何方法。只需要按照正常的开发顺序添加Repository或者Mapper保证将其托管给Spring容器即可 Repository public interface UserMapper extends BaseMapperUser { }3、在主程序上方开启接口扫描保证我们定义好的接口可以被识别生效 MapperScan(com.yuqu.mapper) SpringBootApplication4、开始测试 Test public void test01(){ListUser list userMapper.selectList(null);list.forEach(System.out::println); }主键生成策略 我们先来执行一次插入操作只指定除ID以外的其他字段 int i userMapper.insert(new User(张三, 25, yuqu1028163.com)); // 默认添加id1630488694524837889 System.out.println(影响行数i);最终添加成功但是ID是由mybatisPlus帮助生成的但是我们可以通过在实体类的ID属性上添加TableID注解来指定id生成的策略。 TableId() private Long id;// 将TableId注解放在id字段上可以为其设置参数TableId(type IdType.AUTO)表示自增但是要保证数据库也设置了该字段为自增字段 以及ASSIGN_ID表示当插入对象ID为空时才会自动填充。默认再用雪花算法实现 ASSIGN_UUID 表示为其分配UUIDUUID.replace(“-”,“”) INPUT表示由手动插入IDNONE表示表中没有主键 自动填充 第一种方式是可以在数据库层面进行操作设置创建时间和更新时间。 第二种就是mybatis-plus提供的注解在需要更新和自动填充的字段上进行修饰 // 设置创建实际按自动填充 TableField(fill FieldFill.INSERT) private Date createTime; // 设置更新实际按填充并且自动更新 TableField(fill FieldFill.INSERT_UPDATE) private Date updateTime;标记上注解之后去自定义处理器自定义一个类实现mybatisPlus提供的一个数据接口MetaObjectHandler并且重写两个方法insertFill和updateFill Slf4j Component public class MyHandler implements MetaObjectHandler {Overridepublic void insertFill(MetaObject metaObject) {log.info(start insert fill....);this.setFieldValByName(createTime,new Date(),metaObject);this.setFieldValByName(updateTime,new Date(),metaObject);}Overridepublic void updateFill(MetaObject metaObject) {log.info(start update fill....);this.setFieldValByName(updateTime,new Date(),metaObject);} }乐观锁机制 给数据库添加version字段在访问对某一条数据进行操作时会先获取到它的version。获取到之后进行需要进行的操作然后设置version1在刷新数据的时候进行判断如果version1那就说明这段时间没有别的线程并发操作了该数据即数据是安全的就可以提交数据 依然是将Version注解修饰在对应属性上表示这是一个乐观锁 Version // 乐观锁注解 private int version;配置mybatisPlus乐观锁插件 // 配置version乐观锁插件 拦截器 Bean public MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());return interceptor; } 分页查询 mybatisPlus内置了分页插件与乐观锁一样需要在mybatisPlus配置类中配置并注入bean即可使用 // 分页插件 Bean public PaginationInnerInterceptor paginationInnerInterceptor(){return new PaginationInnerInterceptor(); } 测试分页 Test public void test05(){// param1页码 param2页面数据条数PageUser page new Page(1,3);// 查询总数System.out.println(page.getTotal());userMapper.selectPage(page,null);// 根据page查询指定数目数据page.getRecords().forEach(System.out::println); } 逻辑删除 表示并不是真正的将数据从数据库中删除而是让其失效。比如手机中删除照片的最近删除要删除这些已经“删除”的数据再进行一次深度删除即可使用时只需要在数据库表中定义一个字段并在实体类对应字段上用注解标注字段即可 TableLogic // 逻辑删除注解 private Integer deleted; 测试删除user.deleteById(6);最终执行成功并不是将该数据真正删除而是将修改该数据的deleted字段为1该字段为0表示未删除。也可以在springBoot的yaml配置文件中进行修改自定义的值将会覆盖默认值 mybatis-plus:global-config:db-config:# 逻辑删除字段名logic-delete-field: deleted# 未删除标识logic-not-delete-value: 0# 已删除标识logic-delete-value: 1 执行SQL分析打印 可以格式化执行的sql更加直观的看到sql语句。以及打印执行用时常用于测试找到慢查询。但是缺点mybatis官方也指出了 该插件有性能损耗不建议生产环境使用 导入p6spy打印SQL依赖 !-- 执行sql分析打印 -- !-- https://mvnrepository.com/artifact/p6spy/p6spy -- dependencygroupIdp6spy/groupIdartifactIdp6spy/artifactIdversion3.9.1/version /dependency 在resource目录下创建spy.properties配置文件然后就可以直接使用 #3.2.1以上使用 modulelistcom.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory #3.2.1以下使用或者不配置 #modulelistcom.p6spy.engine.logging.P6LogFactory,com.p6spy.engine.outage.P6OutageFactory # 自定义日志打印 logMessageFormatcom.baomidou.mybatisplus.extension.p6spy.P6SpyLogger #日志输出到控制台 appendercom.baomidou.mybatisplus.extension.p6spy.StdoutLogger # 使用日志系统记录 sql #appendercom.p6spy.engine.spy.appender.Slf4JLogger # 设置 p6spy driver 代理 deregisterdriverstrue # 取消JDBC URL前缀 useprefixtrue # 配置记录 Log 例外,可去掉的结果集有error,info,batch,debug,statement,commit,rollback,result,resultset. excludecategoriesinfo,debug,result,commit,resultset # 日期格式 dateformatyyyy-MM-dd HH:mm:ss # 实际驱动可多个 #driverlistorg.h2.Driver # 是否开启慢SQL记录 outagedetectiontrue # 慢SQL记录标准 2 秒 outagedetectioninterval2 条件构造器Wrapper 建议参考MyBatis-Plus官网 https://baomidou.com/pages/10c804/
http://www.dnsts.com.cn/news/28399.html

相关文章:

  • 微网站和app的区别ext做的网站
  • 家庭装修设计软件免费苏州百度seo关键词优化
  • 网站的建设 想法番禺网站开发技术
  • 可信网站标志开封到濮阳
  • 企业网站建设的特点我想看黄牌
  • 如何建设音乐网站响应式网站有什么区别
  • 百度商桥怎么添加到网站怎样建设手机网站
  • 杭州维利国德网站建设案例广告公司怎么取名
  • 学习吧网站网站优化的监测评价
  • 象山县住房建设局网站注册公司要多少资金起步
  • 沧州响应式网站开发微信公众平台网站建设新闻报道
  • 营销网站的关键字网站响应速度优化
  • 哪个公司建网站最好台州市建设监理协会网站
  • 青海建设厅网站证件查询网站开发嘉比格网络
  • seo搜索优化培训网站建设seo虾哥网络
  • 网站及单位网站建设情况电商网站制作价格
  • 网站站seo教程网站建设初步规划
  • 包头外贸网站建设中国建设银行网站公积金查询余额
  • sh域名做的好的网站关于网站建设的参考文献
  • 深圳建设工程交易网站宝安做一个个人网站多少钱
  • 网站制作公司排行榜icp备案网站用不了
  • 简要说明网站建设的步骤阿里云做电影网站吗
  • 下载ppt模板免费的网站太原做网站哪里好
  • 优化网站的公司嵌入式软件开发和硬件开发
  • 如何选择网站托管公司公众号链接转wordpress
  • 运行网站需要多少钱美图秀秀在线制作
  • wordpress 中文链接新网站seo方法
  • 做网站会什么室内装修公司招聘信息
  • 微网站与微信公众号wordpress页面文件路径
  • 怎么注销网站中企动力网站建设精品案例