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

设计网站物理结构怎么做天津 网站优化

设计网站物理结构怎么做,天津 网站优化,18岁可以注册cn域名吗,wordpress 分类 文章前言 公司架构层面推 Mybatis-plus,这里花半天学习下,记录点笔记。内容包括: 使用 查询构造器使用分页插件使用代码生成 技巧 打印完整sql方便验证结论Mybatis-plus 新的官网域名有问题,用这个 https://baomidou.com/getting-st…

前言

公司架构层面推 Mybatis-plus,这里花半天学习下,记录点笔记。内容包括:

  • 使用
    • 查询构造器使用
    • 分页插件使用
    • 代码生成
  • 技巧
    • 打印完整sql方便验证结论
    • Mybatis-plus 新的官网域名有问题,用这个 https://baomidou.com/getting-started/
  • 其他
    • 本来想把代码推到代码仓的,但是网络有问题…后面补
    • 使用 Spring Boot 3 集成

完整sql打印

为了测试效果,用了官方推荐的sql日志依赖,官方没有提到的是这个依赖兼容 druid,而且无侵入。用的是代理数据库驱动的方式。重点是引入依赖不需要任何配置就能用起来

		<dependency><groupId>com.github.gavlyukovskiy</groupId><artifactId>p6spy-spring-boot-starter</artifactId><version>1.11.0</version></dependency>

单表CRUD 快速支持

以下代码都可以用代码生成器做出来,后文贴出所有配置

public interface ActivityInfoMapper extends BaseMapper<ActivityInfo> {}
@Data
@TableName("xx_activity_info")
public class ActivityInfo implements Serializable {private static final long serialVersionUID = 1L;@TableId(value = "id", type = IdType.AUTO)private Integer id;@TableField("name")private String name;
}

复杂sql代码化

以下sql映射

SELECT  id,name  FROM tm_activity_info
WHERE  (name = 'A' AND (name LIKE '%A%' OR name LIKE '%B%' OR name LIKE '%C%') AND name = 'D');
    @Testpublic void testUsingNested() {// 查询条件LambdaQueryWrapper<ActivityInfo> wrapper = Wrappers.lambdaQuery();wrapper.eq(ActivityInfo::getName, "A").nested(w ->w.like(ActivityInfo::getName, "A").or().like(ActivityInfo::getName, "B").or().like(ActivityInfo::getName, "C")).eq(ActivityInfo::getName, "D");activityInfoMapper.selectList(wrapper);}

分页插件

配置

@Configuration
@MapperScan("com.james.initializr.mapper")
public class MybatisPlusConfig {@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 如果配置多个插件, 切记分页最后添加return interceptor;}
}

以下sql映射

SELECT  id,name  FROM xx_activity_info LIMIT 2,2;
    @Testpublic void testGetAllRecordsWhenPage() {IPage<ActivityInfo> pageQuery = new Page<>(2, 2);// pageQuery.setSize(-1);  如果加上行代码,表示查所有数据IPage<ActivityInfo> pageResult = activityInfoMapper.selectPage(pageQuery, null);log(pageResult, "分页用例");}private void log(IPage<ActivityInfo> page, String remark) {logger.info("==== {} ==== 记录总数={} 一页数量={} 总页数={} 当前页={} ",remark, page.getTotal(), page.getSize(), page.getPages(), page.getCurrent());page.getRecords().forEach(r -> logger.info(r.toString()));logger.info("==== {} ====", remark);}

代码生成

用的最新版的生成方式,并列出官网没有给齐的依赖声明

@Testpublic void test() {FastAutoGenerator.create(url, username, password).globalConfig(builder -> {String dateStr = new SimpleDateFormat("MM月dd日hh时mm分").format(new Date());String dir = "D://mp-gen/" + dateStr + "/";builder.author("yangchenghan").outputDir(dir) ; // 指定输出目录}).packageConfig(builder ->builder.parent("com.james.initializr") // 包名.entity("entity").mapper("mapper").xml("mapperXml")).strategyConfig(builder -> {builder.addInclude("xx_activity_info") // 设置需要生成的表名.addTablePrefix("xx_", "xxx_").entityBuilder().enableTableFieldAnnotation().serviceBuilder().disable().controllerBuilder().disable().mapperBuilder().enableBaseColumnList().enableBaseResultMap();}).templateEngine(new FreemarkerTemplateEngine()).execute();}

默认的交互方式是弹出文件目录,自行复制到项目中
在这里插入图片描述

依赖声明

	<properties><java.version>17</java.version></properties><dependencyManagement><dependencies><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-bom</artifactId><version>3.5.11</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-3-starter</artifactId><version>1.2.22</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.27</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter-test</artifactId></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-jsqlparser</artifactId></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId></dependency><dependency><groupId>com.github.gavlyukovskiy</groupId><artifactId>p6spy-spring-boot-starter</artifactId><version>1.11.0</version></dependency></dependencies>

后记

一开始接触 Mybatis-plus,应该是5年前刚入行,那会 QueryWrapper 被到处封装和使用,污染了 Service层。
目前依旧坚持只在mapper层用,其他高级的功能需要用到再持续记录。


文章转载自:

http://WKvQg8wH.fwdLn.cn
http://SpJXs5XS.fwdLn.cn
http://PravmVBb.fwdLn.cn
http://SJWvZKb6.fwdLn.cn
http://RDO29keJ.fwdLn.cn
http://iW4VALVm.fwdLn.cn
http://eUSwcFSG.fwdLn.cn
http://cMt5k0Y5.fwdLn.cn
http://30duf9gz.fwdLn.cn
http://ArbjHYAc.fwdLn.cn
http://CK22IBWT.fwdLn.cn
http://88yQh0tL.fwdLn.cn
http://row3Jpcv.fwdLn.cn
http://eyZ70RNL.fwdLn.cn
http://KFoktvuT.fwdLn.cn
http://ZYlOdbUZ.fwdLn.cn
http://QSWK35Ot.fwdLn.cn
http://vAwRpCMt.fwdLn.cn
http://7jujzuve.fwdLn.cn
http://RMqAeyCO.fwdLn.cn
http://wM0bctaB.fwdLn.cn
http://z41GmSvI.fwdLn.cn
http://aZlyq8wh.fwdLn.cn
http://3Mz2OUId.fwdLn.cn
http://kEYcN5h1.fwdLn.cn
http://JNSHRzyF.fwdLn.cn
http://7mllz4D8.fwdLn.cn
http://OkwB5j0u.fwdLn.cn
http://BuA471dP.fwdLn.cn
http://LfudDRnX.fwdLn.cn
http://www.dtcms.com/wzjs/681530.html

相关文章:

  • 杭州最好的网站设计公司linux怎么做网站
  • 做校园网站软件安卓下载
  • 做网站除了有服务器还需要什么问题惠州网站小程序建设
  • 网站建设工程师的职位要求朗朗上口的公司名称
  • 网站主机建设方案wordpress-5.6.20
  • 国外网站网站网站建设工具开源
  • html5 单页 响应式 网站模板百度免费推广怎么做
  • 网站更换域名 seo芜湖企业网站建设
  • 网站开发 发送邮件功能做图素材网站哪个好
  • 自有服务器 做网站怎么自己做彩票网站吗
  • 网站策划常用软件河南郑州做网站h汉狮
  • 做简历的网站都有哪些网站简繁转换
  • 学校为什么要建设网站转发文章 WordPress
  • 个人网站首页内容科技类公司网站怎么设计
  • 视频制作素材网站电子书网站搭建教程
  • 网站设计主要包含3个方面织梦新手网站建设
  • 网站建设工作半年通报如何做产品展示网站
  • 网站类网站开发源代码推广软件app赚钱联盟
  • 网站开发需求分析报告怎么做自己的公司网站放在百度
  • 厦门专业的网站建设如何创建自己的公司
  • 建设网站哪家公司好网站开发实验报告模版
  • 建站优化办事效率高dw网页制作论文
  • 毕业设计做网站 服务器怎么弄wordpress安装504
  • 如何运用企业官方网站做宣传网站构建器
  • 百度站长平台链接提交wordpress设置系统邮箱
  • 做自媒体网站深圳公司名称
  • 免费网站商城模板达州网站建设qinsanw
  • 做电商网站需要多少时间我的世界服务器网站怎么做
  • 淮南企业网站建设网站建设费用主要包括哪些内容
  • 顶棒 技术支持 东莞网站建设临夏做网站