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

海珠哪家网站建设好网站优化要从哪些方面做

海珠哪家网站建设好,网站优化要从哪些方面做,整套网站模板,山东省建设工程 评估中心网站MybatisPlus MybatisPlus是在mybatis基础上的一个增强型工具。它对mybatis的一些操作进行了简化#xff0c;能够提高开发的效率。 springboot整合了mybatis之后#xff0c;其实已经非常方便了#xff0c;只需要导入mybatis的包后#xff0c;在配置文件中编写数据源信息能够提高开发的效率。 springboot整合了mybatis之后其实已经非常方便了只需要导入mybatis的包后在配置文件中编写数据源信息然后在数据层接口上添加Mapper注解。 但是现在还有一个不完美的地方数据层接口需要自己写方法并且需要写注解写sql语句。这些都是增删改查的sql其实重复性很大如果能够让框架负责这部分代码的生成就完美了。 MybatisPlus正是这样的一门技术。 1、MybatisPlus快速入门 去除mybatis的依赖转而导入MybatisPlus的依赖。 dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.5.4/version /dependency然后将dao接口继承BaseMapper实体类。dao层接口不再需要写任何查询方法已经具有了增删改查的方法。 mp具有动态sql的功能。比方说updateById方法是传入一个实体类这个实体类中要有id信息会根据id去修改对应的记录。但是如果除了id以外其他属性不置任何值那么修改的记录不会有任何改变。如果除了id以外还有一个属性被set了假设总共有10个属性其他九个属性都是空的那么修改的记录只会修改被修改的那个值而不会改变其他属性。 2、标准数据层开发 标准分页功能制作 mp有一个分页拦截器专门用来做分页没有配置这个拦截器就没有分页功能配上了才有分页功能。 //当前页第1页每页条数2条 IPageBrand iPagenew Page(1,2); brandDao.selectPage(iPage,null); System.out.println(当前页iPage.getCurrent()); System.out.println(一页条数iPage.getSize()); System.out.println(一共多少页iPage.getPages()); System.out.println(一共多少条数据iPage.getTotal()); System.out.println(具体数据iPage.getRecords());条件查询 需要创建一个容器并填入查询条件然后交给数据层接口的方法进行查询。 QueryWrapperEmp wrapper new QueryWrapper(); wrapper.lambda().eq(Emp::getId, empId).eq(Emp::getEmpStatus, 1); Emp emp empMapper.getOne(wrapper);动态条件查询 在条件中设置不为空或者不为null才能添加条件即可。 LambdaQueryWrapperEmp wrapper new LambdaQueryWrapperEmp().eq(!.equals(vo.getEmpEmail()), Emp::getEMail, vo.getEmpEmail()).eq(!.equals(vo.getEmpName()), Emp::getName, vo.getEmpName()).eq(!.equals(vo.getEmpPhone()), Emp::getMobilePhone, vo.getEmpPhone()).eq(!.equals(vo.getEmpPosition()), Emp::getPosition, vo.getEmpPosition()).eq(!.equals(vo.getStoreId()), Emp::getStoreId, vo.getStoreId()).eq(Emp::getUserId, userId);逻辑删除 逻辑删除并不是真的删除而是添加了一个表示删除的字段如果这个字段被标记为1就表示被删除如果这个字段被标记为0就表示不被删除。之后进行查询也是通过这个删除字段确定查询内容。 设置完逻辑删除字段以及加上注解之后接下来使用deleteById方法不会将记录删除只会将逻辑删除字段的值置为1。查询时也会默认自动加上逻辑删除字段的条件只会查询逻辑删除为1的内容。 如果有太多实体也可以在springboot的配置文件中添加全局配置将所有实体中的对应字段都设置为逻辑删除字段。实体中就不用加上注解了。 复杂逻辑查询 虽然mp主要是为了简化sql语句但是对于复杂的逻辑还是要写sql语句的。 所以仍然可以使用在接口中定义方法进行注解的方式查询仍然可以使用sql映射文件编写复杂的逻辑。 3、字段映射以及表名映射 这一部分主要是应用于实体类中的。 表名映射 在实体类名上方使用TableName(“数据库中的表名称”)来进行映射。 字段映射 在实体类的属性非主键上方使用TableField(字段名被查询时是否展示在表中是否存在)。 在实体类的属性主键上方使用TableId(字段名,typeid生成方式)。 id生成方式可以自己指定。具体有以下类型 注意选择雪花算法生成id类型要是long。不然存不下。 除了在注解中指定使用id生成策略以外可以使用在springboot的配置文件中设置全局配置 3、代码生成器 import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus.generator.config.DataSourceConfig; import com.baomidou.mybatisplus.generator.config.GlobalConfig; import com.baomidou.mybatisplus.generator.config.PackageConfig; import com.baomidou.mybatisplus.generator.config.StrategyConfig; import com.baomidou.mybatisplus.generator.config.rules.DateType; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; import org.junit.Test;/*** author* since*/ public class CodeGenerator {Testpublic void run() {// 1、创建代码生成器AutoGenerator mpg new AutoGenerator();// 2、全局配置GlobalConfig gc new GlobalConfig(); // String projectPath System.getProperty(user.dir);//生成代码的位置gc.setOutputDir(目录);//gc.setOutputDir(D:\\IDEA2020\\Project\\2023fuchuang\\system\\intelligent_schedule_system-master\\service\\schedule_service /src/main/java);gc.setAuthor(作者名);gc.setOpen(false); //生成后是否打开资源管理器gc.setFileOverride(false); //重新生成时文件是否覆盖gc.setServiceName(%sService); //去掉Service接口的首字母Igc.setIdType(IdType.ID_WORKER_STR); //主键策略gc.setDateType(DateType.ONLY_DATE); //定义生成的实体类中日期类型gc.setSwagger2(true);//开启Swagger2模式mpg.setGlobalConfig(gc);// 3、数据源配置DataSourceConfig dsc new DataSourceConfig();dsc.setUrl(jdbc:mysql://localHost/iss_schedule?useSSLfalseserverTimezoneGMT%2B8characterEncodingutf8);dsc.setDriverName(com.mysql.cj.jdbc.Driver);dsc.setUsername(root);dsc.setPassword(123456);dsc.setDbType(DbType.MYSQL);mpg.setDataSource(dsc);// 4、包配置PackageConfig pc new PackageConfig();pc.setParent(com.iss);//包名pc.setModuleName(schedule); //包名pc.setController(controller);pc.setEntity(entity);pc.setService(service);pc.setMapper(mapper);mpg.setPackageInfo(pc);// 5、策略配置StrategyConfig strategy new StrategyConfig();//要生成的表strategy.setInclude(schedule_search);strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略strategy.setTablePrefix(pc.getModuleName() _); //生成实体时去掉表前缀strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略strategy.setEntityLombokModel(true); // lombok 模型 Accessors(chain true) setter链式操作strategy.setRestControllerStyle(true); //restful api风格控制器strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符mpg.setStrategy(strategy);// 6、执行mpg.execute();} }
http://www.zqtcl.cn/news/598504/

相关文章:

  • 可以免费下源码的网站石家庄市里的网站公司
  • wordpress的别名获得页面的别名优化大师电视版
  • 怎么查网站关键词排名微信上的h5页面是怎么制作的
  • 如何为一个网站做app手机软件大全
  • 哪家网络公司做网站工信部网站原来是
  • json取数据做网站asp网站 模板
  • 漳州做网站多少钱乐清网红餐厅
  • 淮安网站开发sem推广案例
  • 义乌网站建设郭云砺信息科技做网站
  • 重庆御临建筑公司官网网站更换域名seo
  • 北京大兴专业网站建设公司wordpress 加速乐
  • win7怎么做网站域名绑定邯郸最新通知今天
  • 苏州企业网站设计开发个人 网站备案
  • 威海哪有网站建设中国建设部网站失信名单
  • 重庆哪家在做网站建设php网站后台验证码不显示
  • 开发网站开票写什么google收录查询
  • dw做的网站如何上传图片服务器配置wordpress
  • 恩施网站优化七牛云可以做网站的存储空间吗
  • 网站建设的源代码有什么作用网站维护包括哪些
  • 广东广东网站建设工作网站qq登录 开发
  • 中山网页网站设计模板access 数据库做网站
  • 阿里云网站做网站的服务器用什么系统
  • 什么公司做网站最好怎么给网站做快照
  • 官方网站建设的方法有哪些方面邮箱号码大全
  • 电商app软件山东网络推广优化排名
  • 国内产品网站w源码1688网站关键词描述字数
  • 网站404 模板wordpress 文字插件下载
  • 河南民基建设工程有限公司网站齐齐哈尔建设局网站首页
  • 响应式网站建设推荐乐云践新三丰云免费云服务器
  • 长沙网站建设模板uc浏览器访问网站