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

查看网站有多少空间郑州百度搜索优化

查看网站有多少空间,郑州百度搜索优化,网站设计公司深,嵌入式项目外包平台目录 一、简介 1. 是什么 2. 特性 3. 框架结构 4. 常用注解 二、搭建使用 1. 依赖 2. 生成器 3. 生成 4. 引用 5. 路径访问 三、测试 四、雪花ID 每篇一获 Mybatis-plus#xff08;简称 MP#xff09;是一个 MyBatis (opens new window)的增强工具#xff0c;…目录 一、简介 1. 是什么 2. 特性 3. 框架结构 4. 常用注解 二、搭建使用 1. 依赖 2. 生成器 3. 生成 4. 引用 5. 路径访问 三、测试 四、雪花ID 每篇一获 Mybatis-plus简称 MP是一个 MyBatis (opens new window)的增强工具在 MyBatis 的基础上只做增强不做改变为简化开发、提高效率而生。 一、简介 Mybatis-plus官方文档https://baomidou.com/pages/24112f/ 1. 是什么 Mybatis-plus是一个基于Mybatis的增强工具它在Mybatis的基础上进行了扩展提供了更加便捷、高效的数据库操作方式。Mybatis-plus通过封装Mybatis的API简化了开发人员对数据库的操作提高了开发效率。 Mybatis-plus提供了一些特性和功能包括自动生成SQL、性能优化、多种查询方式、代码生成器、分页插件、逻辑删除等。通过这些功能开发人员不需要编写繁琐的SQL语句可以通过简单的编码实现对数据库的操作。例如使用Mybatis-plus可以通过简单的注解和方法调用实现增删改查操作大大简化了开发流程。 此外Mybatis-plus还提供了代码生成器可以根据数据库表自动生成实体类、Mapper接口和XML文件减少了手动编写重复代码的工作量提高了开发效率。同时Mybatis-plus还提供了分页插件可以方便地实现分页查询功能减少了对分页逻辑的重复编写。 总之Mybatis-plus是一个强大的增强工具它简化了Mybatis的使用方式提高了开发效率使开发人员能够更加专注于业务逻辑的实现。因此Mybatis-plus在Java项目中被广泛应用成为了Mybatis的重要补充和扩展。 支持的数据库  任何能使用 MyBatis 进行 CRUD, 并且支持标准 SQL 的数据库具体支持情况如下如果不在下列表查看分页部分教程 PR 您的支持。 MySQLOracleDB2H2HSQLSQLitePostgreSQLSQLServerPhoenixGauss ClickHouseSybaseOceanBaseFirebirdCubridGoldilockscsiidbinformixTDengineredshift 达梦数据库虚谷数据库人大金仓数据库南大通用(华库)数据库南大通用数据库神通数据库瀚高数据库优炫数据库星瑞格数据库 2. 特性 无侵入只做增强不做改变引入它不会对现有工程产生影响如丝般顺滑损耗小启动即会自动注入基本 CURD性能基本无损耗直接面向对象操作强大的 CRUD 操作内置通用 Mapper、通用 Service仅仅通过少量配置即可实现单表大部分 CRUD 操作更有强大的条件构造器满足各类使用需求支持 Lambda 形式调用通过 Lambda 表达式方便的编写各类查询条件无需再担心字段写错支持主键自动生成支持多达 4 种主键策略内含分布式唯一 ID 生成器 - Sequence可自由配置完美解决主键问题支持 ActiveRecord 模式支持 ActiveRecord 形式调用实体类只需继承 Model 类即可进行强大的 CRUD 操作支持自定义全局通用操作支持全局通用方法注入 Write once, use anywhere 内置代码生成器采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码支持模板引擎更有超多自定义配置等您来使用内置分页插件基于 MyBatis 物理分页开发者无需关心具体操作配置好插件之后写分页等同于普通 List 查询分页插件支持多种数据库支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多种数据库内置性能分析插件可输出 SQL 语句以及其执行时间建议开发测试时启用该功能能快速揪出慢查询内置全局拦截插件提供全表 delete 、 update 操作智能分析阻断也可自定义拦截规则预防误操作 3. 框架结构 框架结构图 Mybatis-plus的框架结构主要包括以下几个核心部分 1. Entity实体类用于映射数据库表的字段和Java对象的属性。在Mybatis-plus中可以通过注解或配置文件来定义实体类并与数据库表进行映射。 2. MapperMapper接口用于定义数据库操作的方法。在Mybatis-plus中Mapper接口可以通过继承Mybatis-plus提供的BaseMapper接口来获得通用的增删改查方法也可以自定义SQL方法来实现特定的数据库操作。 3. ServiceService层用于封装业务逻辑。在Mybatis-plus中Service层通常与Mapper层配合使用通过调用Mapper接口中的方法来实现业务逻辑。 4. ControllerController层用于处理用户请求和返回响应。在Mybatis-plus中Controller层通常与Service层配合使用通过调用Service层的方法来处理业务逻辑并返回相应的结果给用户。 5. SQL解析器Mybatis-plus内置了SQL解析器可以根据方法名自动生成SQL简化了SQL的编写。 6. 分页插件Mybatis-plus提供了分页插件可以方便地实现分页查询功能。 总的来说Mybatis-plus的框架结构与传统的Mybatis框架类似但在Mapper接口的定义、SQL解析和分页插件等方面进行了增强和优化使得开发人员能够更加便捷地进行数据库操作和业务逻辑的实现。 4. 常用注解 本文将介绍 MybatisPlus 注解包相关类详解更多详细描述可点击查看源码注释 1. TableName指定实体对应的数据库表名。2. TableId标识实体的主键字段。3. IdType指定主键生成策略。4. TableField标识实体对应的数据库字段名。5. FieldStrategy指定字段的策略例如自动填充、逻辑删除等。6. FieldFill指定字段填充策略。7. Version用于乐观锁机制标识乐观锁字段。8. EnumValue指定枚举类字段对应的数据库存储值。9. TableLogic指定逻辑删除字段。10. SqlParser指定 SQL 解析规则。11. KeySequence指定序列的名称。12. InterceptorIgnore忽略拦截器。13. OrderBy指定查询结果的排序方式。 更加详细的可以观看官方文档中 : MybatisPlus注解文档https://baomidou.com/pages/223848/#tablename 二、搭建使用 1. 依赖 我们创建一个spring-boot项目。 在pom.xml文件中引用以下依赖 :  !-- mybatis-plus依赖 --dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.5.2/version/dependency!-- mybatis-plus 代码生成器的依赖 --dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-generator/artifactIdversion3.5.2/version/dependency!--MYSQL 依赖--dependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactIdscoperuntime/scope/dependency!--模板引擎freemarker依赖--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-freemarker/artifactId/dependency!-- 雪花ID的依赖--dependencygroupIdcom.github.yitter/groupIdartifactIdyitter-idgenerator/artifactIdversion1.0.6/version/dependency pom.xml 文件中的所有依赖 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.Jun.depend/groupIdartifactIddemo01/artifactIdversion0.0.1-SNAPSHOT/versionnamedemo01/namedescriptiondemo01/descriptionpropertiesjava.version1.8/java.versionproject.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncodingspring-boot.version2.6.13/spring-boot.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdscoperuntime/scopeoptionaltrue/optional/dependency!-- mybatis-plus依赖 --dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.5.2/version/dependency!-- mybatis-plus 代码生成器的依赖 --dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-generator/artifactIdversion3.5.2/version/dependency!--MYSQL 依赖--dependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactIdscoperuntime/scope/dependency!--模板引擎freemarker依赖--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-freemarker/artifactId/dependency!-- 雪花ID的依赖--dependencygroupIdcom.github.yitter/groupIdartifactIdyitter-idgenerator/artifactIdversion1.0.6/version/dependency/dependencies!--只负责定义依赖--dependencyManagementdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion${spring-boot.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagementbuildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion3.8.1/versionconfigurationsource1.8/sourcetarget1.8/targetencodingUTF-8/encoding/configuration/pluginplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdversion${spring-boot.version}/versionconfigurationmainClasscom.jun.demo01.Demo01Application/mainClassskiptrue/skip/configurationexecutionsexecutionidrepackage/idgoalsgoalrepackage/goal/goals/execution/executions/plugin/plugins/build/projectapplication.yml 配置文件的配置如下 :  #server: # port: 8080 spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/bookshop?useUnicodetruecharacterEncodingutf-8useSSLfalseusername: rootpassword: 123456 mybatis-plus:type-aliases-package: com.jun.demo01.text #指定实体类路径configuration:map-underscore-to-camel-case: true #驼峰命名规范2. 生成器 我这里根据管方的说生成器进行了改善创建一个生成器。 MySQLGenerator package com.jun.demo01;import com.baomidou.mybatisplus.generator.FastAutoGenerator; import com.baomidou.mybatisplus.generator.config.DataSourceConfig; import com.baomidou.mybatisplus.generator.config.OutputFile; import com.baomidou.mybatisplus.generator.config.rules.DateType; import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; import lombok.extern.slf4j.Slf4j;import java.util.Arrays; import java.util.Collections; import java.util.List;Slf4j public class MySQLGenerator {private final static String URL jdbc:mysql://localhost:3306/bookshop;// 数据库连接URLprivate final static String USERNAME root;// 数据库用户名private final static String PASSWORD 123456;// 数据库密码private final static DataSourceConfig.Builder DATA_SOURCE_CONFIG new DataSourceConfig.Builder(URL, USERNAME, PASSWORD);public static void main(String[] args) {// 创建FastAutoGenerator对象传入数据源配置FastAutoGenerator.create(DATA_SOURCE_CONFIG)// 全局配置传入扫描器构建器并设置作者输出目录注释日期日期类型.globalConfig((scanner, builder) -builder.author(scanner.apply(请输入作者名称?)).outputDir(System.getProperty(user.dir) \\src\\main\\java).commentDate(yyyy-MM-dd).dateType(DateType.TIME_PACK))// 包配置传入构建器并设置父包实体服务服务实现映射器xmlxml路径信息.packageConfig((builder) -builder.parent(com.jun.demo01).entity(entity).service(service).serviceImpl(service.impl).mapper(mapper).xml(mapper.xml).pathInfo(Collections.singletonMap(OutputFile.xml, System.getProperty(user.dir) \\src\\main\\resources\\mapper)))// 注入配置传入构建器并设置输出文件前执行的函数.injectionConfig((builder) -builder.beforeOutputFile((a, b) - log.warn(tableInfo: a.getEntityName()))).strategyConfig((scanner, builder) -// 添加表名builder.addInclude(getTables(scanner.apply(请输入表名,多个英文逗号分隔?所有输入 all)))// 添加去除表前缀设置.addTablePrefix(tb_, t_, lay_, meeting_, sys_)// 实体配置.entityBuilder()// 启用链式模型.enableChainModel()// 启用 Lombok.enableLombok()// 启用表字段注解.enableTableFieldAnnotation()// 控制器配置.controllerBuilder()// 启用 REST 样式.enableRestStyle()// 启用连字符样式.enableHyphenStyle()// 构建.build())// 模板引擎.templateEngine(new FreemarkerTemplateEngine())// 执行.execute();}protected static ListString getTables(String tables) {return all.equals(tables) ? Collections.emptyList() : Arrays.asList(tables.split(,));}} 其中修改根据自己的数据源进行修改还有软件包也需要跟自己的项目中的包结构一直。 3. 生成 根据如图进行执行生成器  执行的其中在控制器需要输入一个作者名称可以根据自己的喜好输入之后就是输入一个你连接数据库中的一个表名称这个也就是你要生成代码的表。 生成完成后会弹出你生成这个表的代码的本地路径。 生成后的所有实体服务服务实现映射器xmlxml路径信息 4. 引用 生成完成之后我们需要在生成后的Mappe类中直接一个Repository注解 如图 :  之后就是需要在启动类中增加MapperScan注解需要填写到mapper包 5. 路径访问 最后就是编写访问数据的路径在控制器中编写代码  BookController   package com.jun.demo01.controller;import com.github.yitter.idgen.YitIdHelper; import com.jun.demo01.entity.Book; import com.jun.demo01.service.IBookService; import kotlin.Metadata; import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;/*** 书本信息表 前端控制器* author cloudjun* since 2023-12-16*/ RestController RequestMapping(/book) public class BookController {Autowiredprivate IBookService iBookService;//获取列表RequestMapping(/list)public Object list(){return iBookService.list();}//保存RequestMapping(/save)public Object save(Book book){//设置雪花ID需要将类型修改为Long类型book.setId(YitIdHelper.nextId());//YitIdHelper.nextId()获取雪花ID并且赋值到对象编号中return iBookService.save(book);}//删除RequestMapping(/del)public Object remove(Book book){return iBookService.removeById(book);}//更新RequestMapping(/update)public Object update(Book book){return iBookService.updateById(book);}}三、测试 访问我们配置好的路径进行数据的访问对数据进行编辑 在演示一个增加如图所示: 在查看数据表 :  四、雪花ID Snowflake官方文档https://docs.snowflake.com/en/guides-overview 雪花IDSnowflake ID是一种分布式唯一ID生成算法它的作用是生成全局唯一的ID适用于分布式系统中对ID唯一性要求较高的场景。雪花ID的特点包括 1. 分布式唯一性雪花ID生成算法能够在分布式系统中生成全局唯一的ID避免了不同节点生成ID的重复。 2. 有序性雪花ID生成的ID是趋势递增的即生成的ID在时间上是有序的这样有利于数据库索引的性能优化。 3. 高性能雪花ID生成算法是基于位运算和时间戳的快速算法生成ID的效率较高。 4. 简单易用雪花ID生成算法相对简单实现起来比较容易能够满足大部分分布式系统的ID生成需求。 雪花ID通常由64位的二进制组成其中包括一个符号位、一个时间戳部分、一个机器ID部分、一个数据中心ID部分和一个序列号部分。这些部分的组合使得雪花ID具有全局唯一性和有序性。 总的来说雪花ID的作用是在分布式系统中生成全局唯一的有序ID它的特点包括分布式唯一性、有序性、高性能和简单易用因此在分布式系统中被广泛应用于唯一ID的生成。 每篇一获 学习Mybatis-plus和Snowflake的使用可以带来以下收获 1. 提高开发效率Mybatis-plus提供了简化数据库操作的方法使得开发人员能够更加专注于业务逻辑的实现从而提高开发效率。而Snowflake可以快速生成全局唯一的ID避免了手动编写ID生成算法的复杂性也提高了开发效率。 2. 优化数据库性能Mybatis-plus提供了SQL解析器和分页插件等功能可以优化数据库查询的性能提高系统的响应速度。同时Snowflake生成的ID是有序的有利于数据库索引的优化进一步提高数据库的性能。 3. 实现分布式系统Mybatis-plus和Snowflake都是分布式系统中常用的工具学习它们的使用可以帮助开发人员更好地实现分布式系统提高系统的可扩展性和可靠性。 4. 拓展技术视野学习Mybatis-plus和Snowflake的使用可以拓展开发人员的技术视野了解更多关于Java开发的技术和工具提高自身的综合能力。 综上所述学习Mybatis-plus和Snowflake的使用可以带来多方面的收获对于Java开发人员来说是一项有益的技能。
http://www.zqtcl.cn/news/517729/

相关文章:

  • 公众平台网页版wordpress换主题影响seo吗
  • 网站建设什么是静态网页设置wordpress文章标题高亮的代码
  • 男女做那事是什 网站wordpress怎么上传ppt
  • 电商网站图片处理东莞网络营销策划
  • 做知识产权相关的网站网站怎么做登录界面
  • 网站空间备份东莞企业网站教程
  • 新桥企业网站建设有关网站建设的毕业设计
  • 中山网站建设工作修改wordpress后台地址
  • 西安app网站开发如何制作一个自己的网页
  • 陇西学做网站鄂州网约车
  • 做类似58类型网站免费源码分享
  • 个人做的网站有什么危险网站模板怎样发布
  • 设计建设网站公司网站wordpress k2
  • 公司网站被抄袭网络宣传
  • 企业网站设计收费专业网络推广公司排名
  • 视频网站模板源码深圳网站建设明细报价表
  • nike官方网站定制二级域名网站有哪些
  • 越秀移动网站建设房门户网站如何做优化
  • 什么软件可以做动漫视频网站开发一个小程序大概要多少钱
  • 微网站可以做成域名访问株洲网站做的好的公司
  • 建设网站去工信部备案需要什么资料网站建设相关博客
  • 十度网站建设网站建立的企业
  • 婚庆公司网站国外网站阻止国内访问怎么做
  • 乐山高端网站建设wordpress openload
  • 哪些网站上可以做租车深圳品牌网站开发
  • 乐清网站改版公司西安网站建设公司哪家好
  • 国外小型网站1688货源网下载
  • 浏览量最大的网站网站导航栏目设计内容依据
  • 户外拓展公司网站开发桂林网站开发
  • 怎么入侵网站后台互联网营销师含金量