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

1万网站建设费入什么科目互联网公司黑话

1万网站建设费入什么科目,互联网公司黑话,网页制作与设计简称,万网免费域名本篇文章内容主要包括#xff1a; MyBatis-Flex 介绍 MyBatis-Flex 是一个优雅的 MyBatis 增强框架#xff0c;它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用Mybaits-Flex链接任何数据库#xff0c;其内置的QueryWrapper亮点帮助我们极大的减少了SQL编写的工…本篇文章内容主要包括 MyBatis-Flex 介绍 MyBatis-Flex 是一个优雅的 MyBatis 增强框架它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用Mybaits-Flex链接任何数据库其内置的QueryWrapper亮点帮助我们极大的减少了SQL编写的工作的同时减少出错的可能性。 总而言之MyBatis-Flex能够极大地提高我们的开发效率和开发体验让我们有更多的时间专注于自己的事情。 主要特点 轻量 除了 MyBatis没有任何第三方依赖轻依赖、没有任何拦截器其原理是通过 SqlProvider 的方式实现的轻实现。同时在执行的过程中没有任何的 Sql 解析Parse轻运行。 这带来了几个好处1、极高的性能2、极易对代码进行跟踪和调试 3、更高的把控性。 灵活 支持 Entity 的增删改查、以及分页查询的同时MyBatis-Flex 提供了 Db Row^灵活 工具可以无需实体类对数据库进行增删改查以及分页查询。 与此同时MyBatis-Flex 内置的 QueryWrapper^灵活 可以轻易的帮助我们实现 多表查询、链接查询、子查询 等等常见的 SQL 场景。 强大 支持任意关系型数据库还可以通过方言持续扩展同时支持 多复合主键、逻辑删除、乐观锁配置、数据脱敏、数据审计、 数据填充 等等功能。 与同类框架的对比 功能对比 功能或特点MyBatis-FlexMyBatis-PlusFluent-MyBatis对 entity 的基本增删改查✅✅✅分页查询✅✅✅分页查询之总量缓存✅✅❌分页查询无 SQL 解析设计更轻量及更高性能✅❌✅多表查询 from 多张表✅❌❌多表查询 left join、inner join 等等✅❌✅多表查询 unionunion all✅❌✅单主键配置✅✅✅多种 id 生成策略✅✅✅支持多主键、复合主键✅❌❌字段的 typeHandler 配置✅✅✅除了 MyBatis无其他第三方依赖更轻量✅❌❌QueryWrapper 是否支持在微服务项目下进行 RPC 传输✅❌未知逻辑删除✅✅✅乐观锁✅✅✅SQL 审计✅❌❌数据填充✅✅✅数据脱敏✅✔️ 收费❌字段权限✅✔️ 收费❌字段加密✅✔️ 收费❌字典回写✅✔️ 收费❌Db Row✅❌❌Entity 监听✅❌❌多数据源支持✅借助其他框架或收费❌多数据源是否支持 Spring 的事务管理比如 Transactional 和 TransactionTemplate 等✅❌❌多数据源是否支持 “非Spring” 项目✅❌❌多租户✅✅❌动态表名✅✅❌动态 Schema✅❌❌ 性能对比 测试结果如下 MyBatis-Flex 的查询单条数据的速度大概是 MyBatis-Plus 的 5 ~ 10 倍。MyBatis-Flex 的查询 10 条数据的速度大概是 MyBatis-Plus 的 5~10 倍左右。Mybatis-Flex 的分页查询速度大概是 Mybatis-Plus 的 5~10 倍左右。Mybatis-Flex 的数据更新速度大概是 Mybatis-Plus 的 5~10 倍。 测试代码 https://gitee.com/mybatis-flex/mybatis-benchmark Mybatis-Flex支持哪些数据库 MyBatis-Flex 支持的数据库类型如下表格所示我们还可以通过自定义方言的方式持续添加更多的数据库支持。 数据库描述mysqlMySQL 数据库mariadbMariaDB 数据库oracleOracle11g 及以下数据库oracle12cOracle12c 及以上数据库db2DB2 数据库H2H2 数据库hsqlHSQL 数据库sqliteSQLite 数据库postgresqlPostgreSQL 数据库sqlserver2005SQLServer2005 数据库sqlserverSQLServer 数据库dm达梦数据库xugu虚谷数据库kingbasees人大金仓数据库phoenixPhoenix HBase 数据库gaussGauss 数据库clickhouseClickHouse 数据库gbase南大通用(华库)数据库gbase-8s南大通用数据库 GBase 8soscar神通数据库sybaseSybase ASE 数据库OceanBaseOceanBase 数据库FirebirdFirebird 数据库derbyDerby 数据库highgo瀚高数据库cubridCUBRID 数据库goldilocksGOLDILOCKS 数据库csiidbCSIIDB 数据库hanaSAP_HANA 数据库impalaImpala 数据库verticaVertica 数据库xcloud行云数据库redshift亚马逊 redshift 数据库openGauss华为 openGauss 数据库TDengineTDengine 数据库informixInformix 数据库greenplumGreenplum 数据库uxdb优炫数据库DorisDoris数据库Hive SQLHive 数据库lealoneLealone 数据库sinodb星瑞格数据库 基本使用 下面的演示案例代码基于MyBatis-Flex的代码生成器进行实现。 创建数据表 创建数据表user_order建表脚本如下 DROP TABLE IF EXISTS user_order; CREATE TABLE user_order (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 自增ID【必须保留自增ID不要将一些有随机特性的字段值设计为主键例如order_id会导致innodb内部page分裂和大量随机I/O性能下降】int 大约21亿左右超过会报错。bigint 大约9千亿左右。,user_name varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 用户姓名,user_id varchar(24) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 用户编号,user_mobile varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 用户电话使用varchar(20)存储手机号不要使用整型。手机号不会做数学计算、涉及到区号或者国家代号可能出现-()、支持模糊查询例如like“135%”,sku varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 商品编号,sku_name varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 商品名称,order_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 订单ID,quantity int(11) NOT NULL DEFAULT 1 COMMENT 商品数量整形定义中不显示规定显示长度比如使用 INT而不使用 INT(4),unit_price decimal(10, 2) NOT NULL COMMENT 商品价格小数类型为 decimal禁止使用 float、double,discount_amount decimal(10, 2) NOT NULL COMMENT 折扣金额,tax decimal(4, 2) NOT NULL COMMENT 费率金额,total_amount decimal(10, 2) NOT NULL COMMENT 支付金额(商品的总金额 - 折扣) * (1 - 费率),order_date datetime NOT NULL COMMENT 订单日期timestamp的时间范围在1970-01-01 00:00:01到2038-01-01 00:00:00之间,order_status tinyint(1) NOT NULL COMMENT 订单状态0 创建、1完成、2掉单、3关单 【不要使用 enum 要使用 tinyint 替代。0-80 范围都可以使用 tinyint】,is_delete tinyint(1) NOT NULL DEFAULT 0 COMMENT 逻辑删单0未删除1已删除 【表达是否概念的字段必须使用is_】,uuid varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 唯一索引分布式下全局唯一用于binlog 同步 ES 方便使用,ipv4 int(10) UNSIGNED NOT NULL DEFAULT 2130706433 COMMENT 设备地址存储IPV4地址通过MySQL 函数转换inet_ntoa、inet_aton 示例SELECT INET_ATON(‘209.207.224.40′); 3520061480 SELECT INET_NTOA(3520061480); 209.207.224.40所有字段定义为NOT NULL并设置默认值因为null值的字段会导致每一行都占用额外存储空间\\n数据迁移容易出错在聚合函数计算结果偏差如count结果不准并且null的列使索引/索引统计/值比较都更加复杂MySQL内部需要进行特殊处理表中有较多空字段的时候数据库性能下降严重。开发中null只能采用is null或is not null检索而不能采用、in、、、!、not in这些操作符号。如where name!’abc’如果存在name为null值的记录查询结果就不会包含name为null值的记录,ipv6 varbinary(16) NOT NULL COMMENT 设备地址存储IPV6地址VARBINARY(16) 插入INET6_ATON(\2001:0db8:85a3:0000:0000:8a2e:0370:7334\) 查询SELECT INET6_NTOA(ip_address) ,ext_data json NOT NULL COMMENT 扩展数据记录下单时用户的设备环境等信息(核心业务字段要单独拆表)。【select user_name, ext_data, ext_data-\$.device\, ext_data-\$.device.machine\ from user_order;】,update_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间,create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间,PRIMARY KEY (id) USING BTREE,UNIQUE INDEX uq_orderid (order_id) USING BTREE,UNIQUE INDEX uq_uuid (uuid) USING BTREE,INDEX idx_order_date (order_date) USING BTREE,INDEX idx_sku_unit_price_total_amount (sku, unit_price, total_amount) USING BTREE );创建Spring Boot项目 项目工程结构如下在pomx.xml中添加相关依赖。 pom.xml dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactIdscoperuntime/scope/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdcom.mybatis-flex/groupIdartifactIdmybatis-flex-spring-boot-starter/artifactIdversion1.6.5/version /dependency dependencygroupIdcom.mybatis-flex/groupIdartifactIdmybatis-flex-processor/artifactIdversion1.6.5/versionscopeprovided/scope /dependencydependencygroupIdcom.mybatis-flex/groupIdartifactIdmybatis-flex-codegen/artifactIdversion1.6.5/version /dependencydependencygroupIdcom.zaxxer/groupIdartifactIdHikariCP/artifactIdversion4.0.3/version /dependency项目配置 在配置文件application.yml中配置数据源等。 # 数据源配置 spring:datasource:url: jdbc:mysql://127.0.0.1:3306/ballcatusername: rootpassword: root_123在项目启动类上添加MapperScan 配置扫描的文件夹 SpringBootApplication MapperScan(com.xxkfz.simplememory.mapper) public class XxkfzMybatisFlexApplication {public static void main(String[] args) {SpringApplication.run(XxkfzMybatisFlexApplication.class, args);}}经过上面的步骤一个基于Mybatis-Flex的简单Spring Boot项目创建并配置完成了。 下面我们将使用Mybatis-Flex代码生成器生成基于表user-order的基本操作代码。 配置代码生成器 运行CodegenMain.java main方法即可即可在路径com/xxkfz/simplememory/下面生成相应的文件。 import com.mybatisflex.codegen.Generator; import com.mybatisflex.codegen.config.ColumnConfig; import com.mybatisflex.codegen.config.GlobalConfig; import com.mybatisflex.core.service.IService; import com.mybatisflex.spring.service.impl.ServiceImpl; import com.zaxxer.hikari.HikariDataSource;/*** author 公众号: SimpleMemory* version 1.0.0* ClassName Codegen.java* Description 代码生成器* createTime 2023年09月21日 18:12:00*/ public class CodegenMain {public static void main(String[] args) {//数据源配置HikariDataSource dataSource new HikariDataSource();dataSource.setJdbcUrl(jdbc:mysql://127.0.0.1:3306/ballcat?characterEncodingutf-8);dataSource.setUsername(xxkfz);dataSource.setPassword(xxkfz);//创建配置内容两种风格都可以。GlobalConfig globalConfig createGlobalConfig();//GlobalConfig globalConfig createGlobalConfigUseStyle2();//通过 datasource 和 globalConfig 创建代码生成器Generator generator new Generator(dataSource, globalConfig);//生成代码generator.generate();}/*** GlobalConfig 基本配置** return*/public static GlobalConfig createGlobalConfig() {//创建配置内容GlobalConfig globalConfig new GlobalConfig();//设置根包globalConfig.setBasePackage(com.xxkfz.simplememory);//设置表前缀和只生成哪些表globalConfig.setGenerateTable(user_order);//设置生成 entity 并启用 LombokglobalConfig.setEntityGenerateEnable(true);globalConfig.setEntityWithLombok(true);//设置生成 controllerglobalConfig.setControllerGenerateEnable(true);//设置生成 serviceglobalConfig.setServiceGenerateEnable(true);//设置生成 serviceImplglobalConfig.setServiceImplGenerateEnable(true);//设置生成 mapperglobalConfig.setMapperGenerateEnable(true);//设置生成 mapperXmlglobalConfig.setMapperXmlGenerateEnable(true);globalConfig.getControllerConfig().setClassPrefix().setClassSuffix(Controller).setRestStyle(true);globalConfig.getServiceConfig().setClassPrefix().setClassSuffix(Service).setSuperClass(IService.class).setOverwriteEnable(true);globalConfig.getServiceImplConfig().setClassPrefix().setClassSuffix(ServiceImpl).setSuperClass(ServiceImpl.class).setOverwriteEnable(true);globalConfig.getMapperXmlConfig().setFilePrefix(/com/xxkfz/simplememory/).setFileSuffix(Mapper).setOverwriteEnable(true);//可以单独配置某个列ColumnConfig columnConfig new ColumnConfig();columnConfig.setColumnName(tenant_id);columnConfig.setLarge(true);columnConfig.setVersion(true);globalConfig.setColumnConfig(tb_account, columnConfig);return globalConfig;} }生成的代码结构如下 启动项目测试 代码生成后我们直接主启动类XxkfzMybatisFlexApplication即可启动项目。 启动成功后访问UserOrderController.java 中分页查询中的page方法 http://127.0.0.1:8080/userOrder/page 其他操作QueryWrapper的使用 查询表中user_name为公众号Simplememory的user_id、order_id列 QueryWrapper queryWrapper QueryWrapper.create().select(USER_ORDER.USER_ID, USER_ORDER.ORDER_ID).where(USER_ORDER.USER_NAME.eq(公众号Simplememory));ListUserOrder userOrders userOrderMapper.selectListByQuery(queryWrapper);System.out.println(userOrders);在上面的例子中 USER_ORDER 为 MyBatis-Flex 通过 APT 自动生成的无需手动编码只需通过静态导入即可 关于其他的用法可以进入 https://mybatis-flex.com/zh/base/add-delete-update.html Mybatis-Flex官方文档: https://mybatis-flex.com/ 最后关于上面的代码工程已上传到Gitee https://gitee.com/xxkfz/xxkfz-mybatis-flex.git
http://www.yutouwan.com/news/394143/

相关文章:

  • 做网站接广告赚钱么wordpress本地
  • 怎么样增加网站权重网站seo排名优化工具
  • 国外美容院网站迁安网站开发
  • 酒店网站程序网站下拉框怎么做
  • 苏州吴江网站建设wordpress栏目去掉
  • 苏州市住房和城乡建设局政务网站蓝韵官方网站
  • wordpress国内视频网站建网站首页图片哪里找
  • 二手商品网站制作去广告店当学徒有用吗
  • 甘肃省城乡建设局网站网络营销推广方法包括有哪些?
  • 柳城企业网站建设公司中山网站设计服务
  • 衡水做阿里巴巴网站合肥互联网公司
  • 全国做网站最好的公司有哪些电子商务网站建设与维护管理
  • 哪里能找到网站技术社区网站开发
  • 网站开发维护求职信仙桃做网站的公司
  • 自己建设网站网站赚钱wordpress如何把文件添加到媒体库
  • 网站建设模块怎么使用冯宗耀seo教程
  • 祥云平台建站高埗镇网站建设
  • 如何提升网站的排名北京网站开发建设
  • 网站后台管理系统安装搭建自己的网站需要什么
  • 网站开发代理报价表万宁网站建设公司
  • 企业网站设计注意事项做卖蜂蜜的网站计划书
  • 北京到广州动卧传统企业公司网站优化案例
  • 网站跳出率 查询如何用dw做网站底页
  • 如何制作网站主页腾讯云域名注册步骤
  • 商业网站后缀名建湖网站优化公司
  • 怎么自己做网站服务器linux甘肃省建设厅网站首页
  • 企业网站导航优化服务器安全加固
  • 服务器做网站教程微网站搭建费用
  • 淘宝联盟怎么做网站免费ppt模板下载官网
  • 简述网站制作方案和主要内容酒店代理分销平台