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

网站建设设计费用摊销年限西安有做网站的吗

网站建设设计费用摊销年限,西安有做网站的吗,怎么让付费网站免费,手机软件app下载文章目录1 MyBatisPlus概述1.1 MyBatis介绍1.2 MyBatisPlus特性2 标准数据层开发2.1 MyBatisPlus的CRUD操作API2.2 分页功能接口实现2.2.1 config#xff08;配置层#xff09;拦截器实现2.2.2 Dao(Mapper)数据访问层#xff08;CRUD#xff09;操作2.2.3 Junit单元测试进行… 文章目录1 MyBatisPlus概述1.1 MyBatis介绍1.2 MyBatisPlus特性2 标准数据层开发2.1 MyBatisPlus的CRUD操作API2.2 分页功能接口实现2.2.1 config配置层拦截器实现2.2.2 Dao(Mapper)数据访问层CRUD操作2.2.3 Junit单元测试进行测试2.3 开启MyBatisPlus日志2.4 取消初始化spring日志打印2.5 取消SpringBoot启动banner图标、关闭mybatisplus启动图标3 MyBatisPlus DQL3.1 条件查询API3.2 条件查询3.2.1 方式一按条件查询常规格式3.2.2 方式二按条件查询lambda格式3.3 MyBatisPlus中null值判断3.4 批量Batch操作3.5 查询投影聚合查询【查询字段、分组、分页】3.6 字段映射与表名映射4 DML编程控制4.1 id生成策略控制Insert4.2 逻辑删除Delete/Update4.2.1 数据库表中添加逻辑删除字段4.2.2 实体类中添加对应字段并设定当前字段为逻辑删除标记字段5 乐观锁Update1 MyBatisPlus概述 1.1 MyBatis介绍 MyBatisPlus简称MP基于MyBatis框架基础上开发的增强型工具旨在简化开发、提高效率MyBatisPlus官网 1.2 MyBatisPlus特性 无侵入只做增强不做改变不会对现有工程产生影响强大的 CRUD 操作内置通用 Mapper少量配置即可实现单表CRUD 操作支持 Lambda编写查询条件无需担心字段写错支持主键自动生成内置分页插件…… 2 标准数据层开发 2.1 MyBatisPlus的CRUD操作API 2.2 分页功能接口实现 2.2.1 config配置层拦截器实现 此处拦截SQL语句目的是为了拼接分页条件 Configuration public class MpConfig {Beanpublic MybatisPlusInterceptor mpInterceptor(){//1.定义Mp拦截器 ,创建MybatisPlusInterceptor拦截器对象MybatisPlusInterceptor mpInterceptor new MybatisPlusInterceptor();//2.添加具体的拦截器、添加分页拦截器mpInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());return mpInterceptor;} }2.2.2 Dao(Mapper)数据访问层CRUD操作 实现BaseMapper接口 Mapper public interface UserDao extends BaseMapperUser { }2.2.3 Junit单元测试进行测试 Testpublic void testPage() {IPageUser page new Page(2, 5);// 分页构造器:设置 当前第几页 一页多少条IPageUser pageResult userDao.selectPage(page, null);System.out.println(JSON.toJSONString(page));System.out.println(数据列表 JSON.toJSONString(pageResult.getRecords()));System.out.println(当前页码 pageResult.getCurrent());System.out.println(每页条数 pageResult.getSize());System.out.println(总记录数 pageResult.getTotal());System.out.println(总页数 pageResult.getPages());} }2.3 开启MyBatisPlus日志 # 开启mp的日志输出到控制台 mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl2.4 取消初始化spring日志打印 做法在resources下新建ogback.xml文件内容如下 ?xml version1.0 encodingUTF-8? configuration/configuration2.5 取消SpringBoot启动banner图标、关闭mybatisplus启动图标 spring:main:banner-mode: off # 关闭SpringBoot启动图标(banner)# mybatis-plus日志控制台输出 mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImplglobal-config:banner: off # 关闭mybatisplus启动图标3 MyBatisPlus DQL 3.1 条件查询API 3.2 条件查询 3.2.1 方式一按条件查询常规格式 //方式一按条件查询Testpublic void test1(){// select * from user where age 18 and age 65QueryWrapperUser qw new QueryWrapper();qw.ge(age,18);qw.lt(age,65);ListUser userList userDao.selectList(qw);System.out.println(JSON.toJSONString(userList)); //[{age:28,id:5,name:snake,password:123456,tel:12345678910},{age:22,id:6,name:张益达,password:123456,tel:12345678910}]/*System.out.println(userList);不进行JSON转换输出[User(id5, namesnake, password123456, age28, tel12345678910), User(id6, name张益达, password123456, age22, tel12345678910)]* */}3.2.2 方式二按条件查询lambda格式 查阅源码优化全局变量处声明对象操作 3.2.2.1全局变量声明 LambdaQueryWrapperUser userLambdaQueryWrapper Wrappers.lambdaQuery();//lambdaQuery 可用屏蔽底层的具体实现未来会有变化上层代码无需过多的调整。而且不用new对象减少内存Autowiredprivate UserDao userDao;3.2.2.2 select * from user where age 18 and age 65 传统语法MyBatisPlus语法说明ltless thanleless equalgtgreater thangegreater equaleqequalbetween and范围like模糊查询in在in之后的列表中的值多选一//lambda格式Testpublic void test2(){// select * from user where age 18 and age 65//LambdaQueryWrapperUser userLambdaQueryWrapper1 new LambdaQueryWrapper();// LambdaQueryWrapperUser userLambdaQueryWrapper Wrappers.lambdaQuery();userLambdaQueryWrapper.ge(User::getAge,18).lt(User::getAge,65);ListUser userList userDao.selectList(userLambdaQueryWrapper);System.out.println(JSON.toJSONString(userList));System.out.println();System.out.println(userList);}// 等于Testpublic void test3(){//select * from user where name tomuserLambdaQueryWrapper.eq(User::getName,tom);ListUser userList userDao.selectList(userLambdaQueryWrapper);System.out.println(JSON.toJSONString(userList));} 3.3 MyBatisPlus中null值判断 /*** null值判断* 判断 字段值是否为null 不为null才拼接查询条件*/Testpublic void test31(){//模拟前端传的参数//select * from user where name nullUser user new User();/* if (user.getName()!null){userLambdaQueryWrapper.eq(User::getName,user.getName());}健壮性判断*/userLambdaQueryWrapper.eq(user.getName()! null,User::getName,user.getName());//此处user.getName()为空User::getName与user.getName()作对比// 即 在数据库实体类中的name属性null 做判断条件ListUser userList userDao.selectList(userLambdaQueryWrapper);System.out.println(JSON.toJSONString(userList));} // like模糊查询Testpublic void test4(){//select * from user where name like j%userLambdaQueryWrapper.like(User::getName,j);ListUser list userDao.selectList(userLambdaQueryWrapper);System.out.println(list);}/*** between*/Testpublic void test5(){//select * from user where age between 16 and 28userLambdaQueryWrapper.between(User::getAge, 16, 28);ListUser list userDao.selectList(userLambdaQueryWrapper);System.out.println(list);}/*** in*/Testpublic void test6(){//select * from user where id in (1,2,3)ListInteger inList Arrays.asList(1, 2, 3);userLambdaQueryWrapper.in(User::getId, inList);ListUser list userDao.selectList(userLambdaQueryWrapper);System.out.println(list);}3.4 批量Batch操作 /*** 根据id列表批量查询*/Testpublic void test1(){ListInteger ids Arrays.asList(1, 2, 3);//将一个变长参数或者数组转换成ListListUser userList userDao.selectBatchIds(ids);System.out.println(userList);}/*** 根据id列表批量删除*/Testpublic void test2(){ListInteger ids Arrays.asList(1, 2, 3);int count userDao.deleteBatchIds(ids);System.out.println(count);}3.5 查询投影聚合查询【查询字段、分组、分页】 /*** 聚合查询一般用 selectMaps*/Testpublic void test(){//select tel, count(*) as cnt from user group by tel order by cnt;QueryWrapperUser userQueryWrapper new QueryWrapper();userQueryWrapper.select(tel,count(*) as cnt);userQueryWrapper.groupBy(tel);userQueryWrapper.orderByAsc(cnt);ListMapString, Object mapList userDao.selectMaps(userQueryWrapper); //selectMaps:根据 Wrapper 条件查询全部记录System.out.println(JSON.toJSONString(mapList));}3.6 字段映射与表名映射 注解说明TableField通过value属性(value数据库中实际字段名)设置当前属性对应的数据库表中的字段关系TableField通过exist属性true存在false不存在设置属性在数据库表字段中是否存在默认为true。不能与value合并使用TableField通过select属性true参与false不参与设置该属性是否参与查询。此属性与select()映射配置不冲突。TableName通过value属性TableName(数据库中实际表名)设置当前类对应的数据库表名称 4 DML编程控制 4.1 id生成策略控制Insert 注解说明TableId 1、AUTO(0): 使用数据库id自增策略控制id生成2、NONE(1):不设置id生成策略3、INPUT(2):用户手工输入id4、ASSIGN_ID(3):雪花算法生成id (可兼容数值型与字符串型)5、ASSIGN UUID(4):以UUID生成算法作为id生成策略 4.1.1 全局配置 mybatis-plus:global-config:db-config:id-type: assign_idtable-prefix: tbl_4.2 逻辑删除Delete/Update 4.2.1 数据库表中添加逻辑删除字段 4.2.2 实体类中添加对应字段并设定当前字段为逻辑删除标记字段 package com.itheima.domain;import com.baomidou.mybatisplus.annotation.*;import lombok.Data;Data public class User {private Long id;//逻辑删除字段标记当前记录是否被删除TableLogicprivate Integer deleted;}4.2.2.1 全局配置逻辑删除字面值不建议 mybatis-plus:global-config:db-config:table-prefix: tbl_# 逻辑删除字段名logic-delete-field: deleted# 逻辑删除字面值未删除为0logic-not-delete-value: 0# 逻辑删除字面值删除为1logic-delete-value: 15 乐观锁Update 乐观锁的解决思想 首先在多个线程访问共享资源数据库时给数据库添加一个versionint的标记字段然后当某一个线程首先获取到数据库中资源是version发生改变常规操作自动加一
http://www.tj-hxxt.cn/news/232056.html

相关文章:

  • 潍坊网站建设wancet搜索关键词优化排名
  • 网站建设的一些原理网站建设外包多少钱
  • 路桥区高质量营销型网站建设wordpress采集软件
  • 网站+做+app中山手机建网站
  • 国外营销型网站如何用网站做招聘
  • 建站宝盒模板网站一定也做数据库吗
  • 广州一起做网店官网网站优化网络公司
  • 长沙有哪些做网站的公司厦门十家较好的网站建设公司
  • 大旺建设局网站学校校园网站建设实施方案
  • 网站建设如何开票本地生活网免费发信息
  • 江山有做网站开发吗南通仿站定制模板建站
  • 郑州做公司网站的公司新闻发布会筹备方案
  • 武昌网站建设的公司上海市城乡建设部网站首页
  • 个人如何建立公司网站佛山短视频拍摄
  • 交流平台网站怎么做不了公司变更说明
  • 企业做网站etp和源程序网站定制兴田德润实力强
  • 网站建设 sql智能网站建设背景
  • 查商家信息有哪些网站商贸公司注册需要多少钱
  • 用公司的信息做网站违法吗房地产开发与管理专业
  • 直播网站建设品牌刚刚传来最新消息
  • 做包装一般看什么网站禁止wordpress评论外链
  • 青岛网站建设方案公司wordpress调用图像描述
  • 支付公司网站建设会计分录东莞专业的单位网站建设
  • 网站产品优化阳江招聘网娱乐业
  • 提供网站制作公司在线代理ip网页
  • 做民族网站的配色哪些颜色适合中国住建网的官网
  • 网站建设朋友圈微信网页制作网站建设
  • 网站建设的重点长宁网站建设价格
  • 菏泽百度网站建设网站常用的js效果
  • 网站建设代运营方案多用户商城网站方案