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

哈尔滨城乡建设局网站首页白云区建网站公司

哈尔滨城乡建设局网站首页,白云区建网站公司,襄阳做网站公司有哪些,搜索引擎优化到底是优化什么一、特性 Mybatis应该大家现在都知道#xff0c;而且在项目中都在使用#xff0c;因为这块ORM框架让大家能专心业务SQL的编写#xff0c;数据库的连接#xff0c;连接池的使用都不用关心#xff0c;极大的提高了生产效率。 今天要给大家介绍的另外一款ORM框架#xff0…一、特性 Mybatis应该大家现在都知道而且在项目中都在使用因为这块ORM框架让大家能专心业务SQL的编写数据库的连接连接池的使用都不用关心极大的提高了生产效率。 今天要给大家介绍的另外一款ORM框架是Mybatis Plus这块工具正如其官网说的 1润物无声 只做增强不做改变引入它不会对现有工程产生影响如丝般顺滑。 2效率至上 只需简单配置即可快速进行单表CRUD操作从而节省大量时间。 3丰富功能 代码生成、自动分页、逻辑删除、自动填充功能。 二、实战 1相关依赖 还等什么赶紧在项目中使用吧。 如果你的项目中已经能够通过正常访问Mysql数据库那就非常简单只需要下面依赖即可。 dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.4.3.3/version /dependency 如果你是刚开始学习那么数据库访问这块就必须加上这些依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jdbc/artifactId /dependency dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId /dependency 2常用注解 接下来就需要在数据库建个表如果你有表了那更方便直接开始建实体类现在以Order订单表为例 TableName(order) public class Order implements Serializable {TableId(type IdType.AUTO)private Integer orderNo;private String prodName;private Float prodPrice;private Integer prodNum;public Integer getOrderNo() {return orderNo;}public void setOrderNo(Integer orderNo) {this.orderNo orderNo;}public String getProdName() {return prodName;}public void setProdName(String prodName) {this.prodName prodName;}public Float getProdPrice() {return prodPrice;}public void setProdPrice(Float prodPrice) {this.prodPrice prodPrice;}public Integer getProdNum() {return prodNum;}public void setProdNum(Integer prodNum) {this.prodNum prodNum;}Overridepublic String toString() {return Order{ orderNo orderNo , prodName prodName \ , prodPrice prodPrice , prodNum prodNum };} } 这里需要重点讲下这个实体类用到了Mybatis Plus提供的两个注解 TableName 这个注解里面需要填的是表的名称因为order和MySQL的关键字冲突了因为需要额外再加一个单引号否则后面执行程序会报错如果你是正常的业务表名不需要额外加单引号。 TableId 这里针对主键字段需要加这个表示其注解类型可以根据数据库的实际情况选择例如自增长就和我选一样。 3接口定义 到这里如果是Mybatis就需要写xxMapper.xml文件和一个xxDao的mapper接口类今天我们使用的是Mybatis Plus只需要写一个mapper接口类一步搞定。 Repository public interface OrderMapper extends BaseMapperOrder { } 这里就是官网提到的效率至上只需简单配置即可快速进行单表CRUD操作从而节省大量时间。 下面我们就使用一下看怎么访问数据库的。比如从订单表里捞取商品名称是apple的订单 LambdaQueryWrapperOrder queryWrapper new LambdaQueryWrapper(); queryWrapper.eq(Order::getProdName, apple); ListOrder orderList orderMapper.selectList(queryWrapper); orderList.forEach(o - System.out.println(o)); 是不是非常简单如果大家想知道基类也就是BaseMapper里面提供了哪些操作大家可以自己进入源码看看总是单个插入、单个查询、批量查询、删除、更新、分页查询都有了。 3.1LambdaQueryWrapper 和 QueryWrapper的区别 上面的代码中展示了LambdaQueryWrapper的使用方式下面再用QueryWrapper实现同样的功能 QueryWrapperOrder queryWrapper new QueryWrapper(); queryWrapper.eq(prod_name, apple); ListOrder orderList orderMapper.selectList(queryWrapper); orderList.forEach(o - System.out.println(o)); LambdaQueryWrapper可以使用表对应的实体类直接调用get方法获取列名而QueryWrapper只能填列名字符串这样如果表有修改很难知道哪些地方用到了此列名会造成遗漏。 3.2分页查询 分页查询要注意的是不能直接用BaseMapper里面的selectPage方法需要在配置类中引入Page拦截器这里推荐官方的拦截器。 import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class MyBatisPlusConfiguration {/*** 新增分页拦截器并设置数据库类型为mysql*/Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;} } 写一个测试类跑一跑 RestController RequestMapping(/order) public class OrderController {Autowiredprivate OrderMapper orderMapper;RequestMapping(/page)public PageOrder queryPage(RequestParam(num) Integer pageNum,RequestParam(size) Integer pageSize){PageOrder page new Page(pageNum, pageSize);LambdaQueryWrapperOrder queryWrapper new LambdaQueryWrapper();Page page1 orderMapper.selectPage(page, queryWrapper);return page1;} } {records: [{orderNo: 1,prodName: apple,prodPrice: 3.6,prodNum: 3}, {orderNo: 2,prodName: apple,prodPrice: 3.8,prodNum: 4}, {orderNo: 3,prodName: pear,prodPrice: 7.5,prodNum: 2}, {orderNo: 4,prodName: pear,prodPrice: 7.2,prodNum: 3}],total: 6,size: 4,current: 1,orders: [],optimizeCountSql: true,searchCount: true,countId: null,maxLimit: null,pages: 2 } 三、总结 今天这篇文章的重点是介绍mybatis-plus这块效率工具希望大家都能尽快的在项目中使用有什么问题大家相互交流这样才能提高。
http://www.dnsts.com.cn/news/22856.html

相关文章:

  • 建设网站群的指导思想联通的网站是谁做的
  • 简单的网站建立怎么做贵阳网站设计阳光创信好吗
  • 怎么做网站推广云浮徐州英才网最新招聘信息
  • 关于企业网站建设的建议lnmp安装wordpress
  • 百度seo网站排名工作表
  • 网站优化与seo梯子代理网址
  • 网站icp备案怎么查询电子商务网站建设基本步骤
  • 网站建设制作 南京公司哪家好武冈 网站建设
  • 黄埔营销型网站建设中国风风格网站模板
  • 企业建设网站的母的写论文的网站
  • 工信部2017网站备案wordpress采集淘宝 插件
  • 伍佰亿网站怎么做长治做网站哪家好
  • 成品网站 修改首页网站建设加关键词是什么意思
  • 株洲网站seo优化价格云搜索app下载
  • dw做网站需要数据库么wordpress用的php代码编辑器
  • 网站的服务器和空间六安哪家公司做网站好
  • 济南建设银行网站做竞价网站服务器多少钱
  • 做汽车网站开题报告的意义天津建行网站
  • .net网站做增删改免费的网站免安装
  • 广告软文是什么意思宁波seo网络推广咨询价格
  • 珠海企业网站建设报价成都公司注册费用
  • 林州企业网站建设wordpress 开启多用户
  • 商城网站建设制作注册的空间网站
  • 某企业网站网页设计模板中国建筑协会证书查询
  • centos7 wordpress网站saas网络推广平台
  • 视频在线网站免费观看html5购物网站
  • 开网站需要租用机房服务器价格北京网站备案负责人变更
  • 网站建设与管理计划书seo 怎么建设网站外链
  • 黄页88网站动态h5网站开发
  • 做二手网站有哪些网站纯色背景图怎么做