当前位置: 首页 > 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.yutouwan.com/news/150820/

相关文章:

  • 上传网站步骤禅城网站设计
  • 沭阳做网站shy1z如何设置网站名字
  • 承德市网站建设phpok做网站教程
  • 网站建设制作设计seo优化山东做网站有地区差异吗
  • 即墨有做网站的吗做外贸网站义乌
  • wordpress saas 建站怎么查注册公司的名字可不可以用
  • 深圳网络营销推广专员鞍山抖音seo新闻
  • 济南建网站的网站项目计划书ppt
  • 阿里巴巴网站怎么做才能排第一网页游戏排行2020前十名
  • 重庆网站域名备案地址我想建网站
  • 手机网站设计需求分析网上的推广公司
  • 可以自己做网站吗php后台网站开发
  • 黄岛网站建设哪家权威做瞹视频网站哪里看
  • 邯郸企业做网站报价怎么样做电影网站
  • 手机网站分页网站广告推广哪家好
  • 做犯法任务的网站会员卡管理系统价格
  • 株洲网站关键词优化山东网站方案
  • 网站设计对网站搜索引擎友好性的影响小学网站模板免费下载
  • 京东网站建设思维导图如何利用影视网站做cpa
  • 网站开发框架怎么写网站代搭建维护
  • 做情书直接点网站社群营销
  • 制作网站软件网站微信小程序模板使用
  • 扬州建设网站注册企业邮箱哪家最好
  • 衡水网站建设公司联系电话网站建设合同范本下载
  • 网络运营需要学什么专业重庆seo代理
  • 泰州模板建站代理自己制作手机app
  • 域名租赁网站山东省城乡建设部网站
  • 浙江网站搭建WordPress很快退出
  • 酷炫的网站欢迎页面莱芜一中贴吧
  • 旅行网站建设论文摘要广西网站开发