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

网站开发项目详细计划做相框的网站

网站开发项目详细计划,做相框的网站,wordpress 图片 旋转,注册资本随便填了500万一、前言 MyBatis 最佳搭档#xff0c;只做增强不做改变#xff0c;为简化开发、提高效率而生。 这个发展到目前阶段已经很成熟了#xff0c;社区也比较活跃#xff0c;可以放心使用。官网地址#xff1a;https://baomidou.com 二、快速开始 引入依赖 这里我引入了核心… 一、前言 MyBatis 最佳搭档只做增强不做改变为简化开发、提高效率而生。 这个发展到目前阶段已经很成熟了社区也比较活跃可以放心使用。官网地址https://baomidou.com 二、快速开始 引入依赖 这里我引入了核心 starter 依赖以及官方提供的代码生成器依赖如果你不用代码生成器可以不引用 propertiesmybatis-plus.version3.5.7/mybatis-plus.version !-- mybatis增强 orm 框架 -- /propertiesdependencies!-- mybatis-plus 相关依赖 --dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-spring-boot3-starter/artifactIdversion${mybatis-plus.version}/version/dependency!-- 代码生成器 --dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-generator/artifactIdversion${mybatis-plus.version}/version/dependency!-- mysql 依赖 版本由继承的 spring-boot-starter-parent 控制也可以自己指定 --dependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactId/dependency /dependencies 配置数据库连接 spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/itshare-dev?autoReconnecttrueuseUnicodetruecharacterEncodingutf8useSSLfalserewriteBatchedStatementstrueusername: rootpassword: root这样整合就完成了接下来就可以编写我们的业务代码了。 三、业务开发 使用 mybatis-plus 的基本开发流程一般是这样的他和一些全自动的 ORM 框架还是有点区别的比如 SpringDataJPA 或者 Hibernate 并不能根据实体对象自动执行 ddl 创建表结构现在可以通过插件做到这里我们不深究一般都是通过先有表再有实体对象 通常是 创建数据表 - 代码生成器生成基础类 - 在这个基础上开发业务代码 当然你可以在代码生成器阶段尽可能的抽象出相似的地方甚至可以生成简单的 CRUD 代码市面上有很多案例可供参考若依eladmin 等等。这里我只介绍基础的 entity、mapper、service 生成。 3.1 创建数据表 这里我就不列举了根据你自己业务来。 3.2 代码生成器 引入依赖 !-- 代码生成器 -- dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-generator/artifactIdversion${mybatis-plus.version}/version /dependency !-- 模板引擎 -- dependencygroupIdorg.freemarker/groupIdartifactIdfreemarker/artifactId /dependency代码生成工具类 public class CodeGenerator {private static final String DB_URL jdbc:mysql://localhost:3306/itshare-dev?useUnicodetruecharacterEncodingUTF-8useSSLfalseserverTimezoneAsia/ShanghaitinyInt1isBitfalse;private static final String USERNAME root;private static final String PASSWORD root;public static void main(String[] args) {AtomicReferenceString loadModulePackageName new AtomicReference();// 获取当前路径String path System.getProperty(user.dir);// tinyInt1isBitfalseFastAutoGenerator.create(DB_URL, USERNAME, PASSWORD).globalConfig((scanner, builder) - {// 设置作者builder.author(曹申阳).disableOpenDir().enableSpringdoc() // 如果想用swagger生成 springdoc 规范注解 把这个放开// 指定输出目录.outputDir(path \\src\\test\\java);}).dataSourceConfig(builder -builder.typeConvertHandler((globalConfig, typeRegistry, metaInfo) - {if (JdbcType.TINYINT metaInfo.getJdbcType()) {return DbColumnType.INTEGER;}return typeRegistry.getColumnType(metaInfo);})).packageConfig((scanner, builder) - {loadModulePackageName.set(scanner.apply(请输入当前父包模块名称));builder.parent(com.yang.itshare) // 设置父包名.moduleName(loadModulePackageName.get()) // 设置父包模块名.service(service).serviceImpl(service.impl).mapper(mapper).controller(controller).entity(entity)// 设置mapperXml生成路径.pathInfo(Collections.singletonMap(OutputFile.xml, path \\src\\main\\resources\\mapper\\ loadModulePackageName.get()));}).strategyConfig((scanner, builder) - {// 设置需要生成的表名builder.addInclude(getTables(scanner.apply(请输入表名多个英文逗号分隔所有输入 all))).addTablePrefix(itshare_) // 设置过滤表前缀.entityBuilder() // 设置 entity 生成规则.addTableFills(new Column(create_time, FieldFill.INSERT)).addTableFills(new Column(update_time, FieldFill.INSERT_UPDATE)).logicDeleteColumnName(is_deleted).idType(IdType.AUTO).enableLombok()// lombok 注解.controllerBuilder() // 设置 controller 生成规则.enableRestStyle() // 开启生成RestController 控制器.build();}).templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板默认的是Velocity引擎模板.execute();}/*** 处理 all 情况*/protected static ListString getTables(String tables) {return all.equals(tables) ? Collections.emptyList() : Arrays.asList(tables.split(,));}}亲测可用注释也很清楚想要自己配置可以参考配置文件 https://baomidou.com/reference/new-code-generator-configuration/ 运行测试一下我习惯将生成的放在 test 下然后再复制到项目下方便调试如果你足够自信可以指定到想要的地方一步到位。 这个时候还差最后一步开启 mapper 扫描就可以正常使用了 MapperScan(com.yang.itshare.*.mapper)你可以加在启动类上或者其它可以被扫描到的类上我习惯加载 mybatis 的插件配置类上后面会介绍。 四、常用插件功能 4.1 逻辑删除 配置全局逻辑删除属性 mybatis-plus:global-config:db-config:logic-delete-field: is_deleted # 全局逻辑删除字段名logic-delete-value: 1 # 逻辑已删除值logic-not-delete-value: 0 # 逻辑未删除值# 打印 sql 日志configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl# 配置mapper的扫描找到所有的mapper.xml映射文件 如果和默认路径一样可以不配置mapper-locations: classpath*:/mapper/**/*.xml这里我把常用的也放出来了日志打印以及 xml 扫描我一般就放默认地址这里不加也可以防止大家想要修改位置可以在这里配置路径。 加逻辑删除注解 如果你使用的是我上面的代码生成器代码会自动添加注解 否则需要自己完成这一步。 之后在调用 mybatis-plus 封装的查询以及删除操作时会默认加上这个删除的判断比如查询会过滤掉以删除的删除会变成修改这个删除标记的状态值并不会真正的删除。注意如果是使用自己编写的 xml 将不会生效。 4.2 自动填充字段 实现 MetaObjectHandler Slf4j Component public class MyMetaObjectHandler implements MetaObjectHandler {Override public void insertFill(MetaObject metaObject) {log.info(start insert fill ....);this.strictInsertFill(metaObject, createTime, LocalDateTime.class, LocalDateTime.now());this.strictUpdateFill(metaObject, updateTime, LocalDateTime.class, LocalDateTime.now()); }Override public void updateFill(MetaObject metaObject) {log.info(start update fill ....);this.strictUpdateFill(metaObject, updateTime, LocalDateTime.class, LocalDateTime.now()); }实体类上添加注解 如果你使用我上面的代码生成器会自动添加否则要自己指定 4.3 分页插件和防止全表更新与删除插件 创建配置类 Configuration MapperScan(com.yang.itshare.*.mapper) public class MybatisPlusConfig {Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new BlockAttackInnerInterceptor()); // 防全表更新与删除插件PaginationInnerInterceptor paginationInnerInterceptor new PaginationInnerInterceptor(DbType.MYSQL);paginationInnerInterceptor.setMaxLimit(1000L);interceptor.addInnerInterceptor(paginationInnerInterceptor); // 如果配置多个插件, 切记分页最后添加return interceptor;} }我一般会在这里加上 mapper 的扫描当然你也可以加在启动类上 还有很多可用插件大家根据需要引入即可 https://baomidou.com/plugins/ 五、总结 这样我们完成了基本的整合已经可以满足我们前期的开发工作。至于一些高级功能比如 多数据源支持数据权限插件等等。等我们需要的时候可以自己查阅官方文档进行添加官方文档写的很详细。
http://www.hkea.cn/news/14422187/

相关文章:

  • 海澜之家网站建设的计划门户网站建设方案ppt 百度文库
  • 易企秀网站开发佛山seo技术
  • 网站建设的公司开发做家常菜哪个网站最好
  • 区总工会网站建设流程企业维护
  • 济南做公司网站网络游戏下载平台
  • 小蜜蜂网站建设注册公司需要什么条件和材料
  • 邯郸网站建设网页设计网络推广wordpress 4.3.1
  • 毕业设计代做淘宝好还是网站好做一个门户网站多少钱
  • 网站打开速度慢wordpresswordpress主题seo
  • 服装企业网站建设的目的营销型网站建设特点
  • 开封网站建设培训班制作网页可以用
  • 手机网站加百度地图免费商标查询官网
  • 威海+网站建设网站关键词写在哪里
  • 做写字楼租赁用什么网站好电影网站内页
  • 长沙seo网站推广好看的网站的导航怎么做
  • 做色流网站要注意什么地方长春电商网站建设费用
  • 河南怎么样做网站房地产网站设计方案
  • 如何做攻击类型网站网站子页面怎么做
  • 采集网站文章做网站国家大学科技园郑州
  • 商丘网站制作公司一二三网络推广电子商务网页设计模板
  • 网站建设的公司收费标准优化方案生物必修一
  • 现在做网站一般多少钱可以进行网站外链建设的有
  • 用wordpress建立学校网站吗北海网站开发
  • 主流网站开发采用互联网网站模版
  • 广州手机网站建设公司哪家好软件开发专业知识技能
  • 建站系统软件有哪些wordpress微信登录页面模板
  • 网站app开发建设高水平高职院校 建设网站
  • 网站开发国外研究现状重庆建设机电网站
  • 怎么样建设一个网上教学网站wordpress架构
  • 北京网络网站建设公司梅州网站优化公司