为了账号安全,请及时绑定邮箱和手机立即绑定

MyBatis-Plus入门

难度高级
时长 4小时 0分
学习人数
综合评分9.57
101人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.6 逻辑清晰
  • lambda条件构造器(类似mp条件构造器,防误写)

    lambda条件构造器使用场景:

    不需要我们手动在构造条件时去书写字段名称。

    http://img3.sycdn.imooc.com/5fc23604000191c909560053.jpg

    lambda条件构造器使用方法:

    http://img1.sycdn.imooc.com/5fc236e80001837013630842.jpg

    lambda条件构造器的创建有3种方式

    1、通过查询构造器QueryWrapper创建

    2、通过new直接创建lambda条件构造器

    3、通过构造器工具类Wrappers创建(此时需要泛型)

    http://img4.sycdn.imooc.com/5fc2323e000189b110150217.jpg


    例2:

    http://img1.sycdn.imooc.com/5fc2391f0001e07112420410.jpg

    http://img1.sycdn.imooc.com/5fc239310001159f14570502.jpg

    4、3.0.7新增的创建lambda条件构造器,通过LambdaQueryChainWrapper,并且需要一个Mapper接口作为参数(通过源码可以,它是对普通查询构造器的再次封装,源码中仍然是通过Mapper接口去调用)。

    http://img1.sycdn.imooc.com/5fc23ace0001394f15670359.jpg

    http://img4.sycdn.imooc.com/5fc23ae10001ed3614840336.jpg


    查看全部
  • 简单的内容还是以mp支持的默认方法比较合算,如果需要特定支持在考虑去自定义sql

    查看全部
    0 采集 收起 来源:自定义sql

    2020-11-26

  • Java8时间类

    查看全部
  • 查询带夸号

    查看全部
  • 其他以条件构造器的方法

    1、selectMap:List集合的泛型不再是实体,而是map集合。其中key表示字段名,value表示字段值。

    http://img1.sycdn.imooc.com/5f9572000001a16c10270198.jpg

    http://img3.sycdn.imooc.com/5f9573d50001705711540205.jpg

    使用场景1:当实体类属性非常多时,不易查看。如果返回的是一个实体类,那么即使我们设定了返回字段,那么它的值为null,但是属性仍然存在。如果返回的是Map类型,当指定了返回字段时,那么没返回的就不会存在。

    http://img3.sycdn.imooc.com/5f9576290001d58e10510123.jpg

    http://img4.sycdn.imooc.com/5f9576c20001f8b314280045.jpg

    使用场景2:当返回的不是一条一条记录时,也就是返回的字段不在实体类属性中,比如一些统计,像平均值,最大值,最小值这样的。

    http://img1.sycdn.imooc.com//5f957b8100017a1411010282.jpg

    http://img1.sycdn.imooc.com//5f957b8d0001f6b406370069.jpg

    2、selectObjectList集合的泛型不再是实体,而是Object,只返回第一个字段的值。其他的会被舍弃。

    http://img1.sycdn.imooc.com//5f957d31000199d208730228.jpg

    http://img1.sycdn.imooc.com//5f957e25000131e010490264.jpg

    http://img1.sycdn.imooc.com//5f957e1b0001a2b413400360.jpg

    使用场景:只返回一列时可以使用它。

    3、selectCount查询符合条件的总记录数的。

    注意:使用它时,就不能指定返回的列了,因为它会在后面拼接COUNT(1)。

    http://img1.sycdn.imooc.com//5f958c2100015fd108430254.jpg

    http://img1.sycdn.imooc.com//5f958da70001f85907960205.jpg

    http://img1.sycdn.imooc.com//5f958db30001b98607000185.jpg

    4、selectOne:查询符合条件的数据,只会返回一条数据。

    注意:查询的结果必须是一条或者查不到(多于1条就会报错)。

    http://img1.sycdn.imooc.com//5f958eae0001b76709360214.jpg

    http://img1.sycdn.imooc.com//5f958fda0001a26708530321.jpg

    http://img1.sycdn.imooc.com//5f958fe50001df8913700300.jpg

    查看全部
  • Alleq(Map<R,V> params)

    使用方法:传入一个map集合对象,就会按照等值进行操作。key为字段名称,value为字段值。如果字段的值为null,那么sql就会拼接为is null这种形式。

    http://img1.sycdn.imooc.com//5f942bb700016fac05630085.jpg

    如果传入的null,想要忽略掉,也就是不进行拼接,那么就传入第二个参数为false。

    http://img1.sycdn.imooc.com//5f942ce30001b2e109700525.jpg


    allEq的第二种方法,参数1为过滤函数,它是一个函数式接口。

    http://img1.sycdn.imooc.com//5f942dca00012bfd06950479.jpg

    http://img1.sycdn.imooc.com//5f942df50001c6d206370585.jpg


    http://img1.sycdn.imooc.com//5f942d7900016bfd08200398.jpg

    上图就是判断name是不等于name,如果不等于就返回true,就会过滤掉,所以没有拼接name。也可以判断值。注意需要考虑类型的问题

    http://img1.sycdn.imooc.com//5f942e5a000115b810840190.jpg

    查看全部
    0 采集 收起 来源:AllEq用法

    2020-10-24

  • 创建条件构造器时传入实体对象

    http://img2.sycdn.imooc.com/5f9424950001a30d08810447.jpg


    QueryWrapper一个参数的构造方法,如果传入一个部不为null的对象,默认会进行进行等值比较,也就是where后拼接条件。

    注意:通过entity参数生成的等值和QueryWrapper的条件构造方法生成的没有任何关系。

    http://img3.sycdn.imooc.com/5f9425340001463a08460407.jpg


    举例验证:

    http://img3.sycdn.imooc.com/5f94262a000121c409290352.jpg

    http://img2.sycdn.imooc.com/5f94262100010ab111120201.jpg

    注意:使用时要慎重,因为他们都会在sql中进行拼接。

    使用场景:如果允许使用实体类去接受参数,那么就可以不用调用条件构造器,而是直接使用构造方法传入参数即可。

    特殊操作:可以通过在实体类上添加注解,指定该属性使用那种操作,默认使用等值。

    SqlCondition类:定义了一些常量,包括等值、不等于、like、左边like、右边like。

    http://img4.sycdn.imooc.com/5f94279b00015dc407230558.jpg

    如果提供的常量无法满足需求,就可以自己在注解中编写常量表达式,例如小于。

    http://img1.sycdn.imooc.com//5f942a420001d19007800551.jpg


    查看全部
  • 条件构造器(abstractWrapper)中 condition(构造的方法的boolean类型参数) 作用。

    如下:like方法调用重载的方法,重载方法中第一个参数。

    http://img1.sycdn.imooc.com//5f941dbd0001f72a05250160.jpg

    作用:该条件是否加入最后生成的sql中。

    使用方法:如果为true就加入,如果false就不加入。

    使用场景:类似于动态的sql拼接。

    传统使用:

    http://img1.sycdn.imooc.com//5f9420460001fc9108520519.jpg


    mp方式:

    http://img1.sycdn.imooc.com//5f9420e300011afe09010293.jpg

    查看全部
    0 采集 收起 来源:condition作用

    2020-10-24

  • basemapper 常用注解 看文档
    查看全部
    0 采集 收起 来源:常用注解

    2020-10-21

  • select不列出全部字段

    select(String ...columns)

    http://img1.sycdn.imooc.com//5f9055e00001773c09130480.jpg

    http://img1.sycdn.imooc.com//5f9056190001fb8f07850408.jpg


    如果返回的字段数量很多,此时采用如下的select,也可以放置在后面。

    select(Class<T> entityClass,Predicate<TableFieldInfo> predicate)

    第一个参数为实体类对象。第二个参数相当于排除返回的字段。

    http://img1.sycdn.imooc.com//5f9056920001edbf08200457.jpg

    http://img1.sycdn.imooc.com//5f9057510001f61108340363.jpg

    查看全部
  • 非and开头的条件构造器:nested()

    http://img1.sycdn.imooc.com//5f9052d3000138e107640356.jpg

    In条件构造器:In(column,Collection)

    http://img1.sycdn.imooc.com//5f90548e0001a0e807960357.jpg

    last条件构造器:last(sql)。注意:有sql注入风险。确保参数没有风险再使用。

    http://img1.sycdn.imooc.com//5f9055330001271e08440374.jpg

    查看全部
  • and括号条件构造器:and()

    http://img1.sycdn.imooc.com//5f90504f00011ec413440280.jpg

    ort括号条件构造器:or()

    http://img1.sycdn.imooc.com//5f9051760001f86908160381.jpg

    查看全部
  • Mysql函数

    date_format(日期,'格式'):将日期按照格式进行插入或者返回。例如:date_format(now(),'%Y-%m-%d')。

    http://img4.sycdn.imooc.com/5f8ef2a20001f50504130219.jpg

    动态条件构造器:apply。范围条件构造器:insql。

    注意:如果{0}替换为实际值,可能会造成sql注入。

    http://img2.sycdn.imooc.com/5f8eff88000122cf12320275.jpg


    查看全部
  • BaseMapper以条件构造器(Wrapper)为参数的查询方法

    AbstractWrapper抽象类:提供了很多条件构造器。

    http://img2.sycdn.imooc.com/5f8db8a700015a9507830434.jpghttp://img1.sycdn.imooc.com/5f8db8c00001cddf08570416.jpg

    List<T> selectList(@Param(Constans.WRAPPER) Wrapper<T> queryWrapper):使用场景:对于一些有特殊条件的查询,比如模糊查询、条件查询等。使用方法:QueryWrapper为查询条件构造器,它是AbstractWrapper的一个子类。生成条件构造器方式一,QueryWrapper<T> queryWrapper=new QueryWrapper<T>();方式二QueryWrapper<T> query=Wrappers.<T>query();

    注意:条件构造器AbstractWrapper的条件构造器方法key都为数据表字段,value为实际值。例如:like(Column,value)、gt(Column,value)等。

    模糊条件构造器:like。小于条件构造器:lt。

    http://img2.sycdn.imooc.com/5f8dbeaa0001de8809120257.jpg

    范围条件构造器:between。非空条件构造器:isNotNull。

    http://img3.sycdn.imooc.com/5f8dc0b8000138cf07990236.jpg

    模糊右通配符条件构造器:likeRight。或条件构造器:or。

    大于等于条件构造器:ge。升序条件构造器:orderAsc。

    降序条件构造器:orderDesc。

    http://img1.sycdn.imooc.com//6003fae70001bf4309540376.jpg

    查看全部
  • 普通查询:使用方式为实现BaseMapper<T>接口对象调用该方法。

    T selectById(Serializable id):使用场景为通过主键查询,只要该主键类型实现了Serialzable接口即可。

    http://img4.sycdn.imooc.com/5f8db260000179d906500221.jpg

    2、List<T> selectBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList):使用场景为通过主键的集合去批量查询,前提主键的类型实现了Serializable接口。

    http://img1.sycdn.imooc.com//5f8db4e20001676e07570172.jpg

    3、List<T> selectByMap(@Param(Constants.COLUMN_MAP) Map<String,Object> columnMap):使用场景为传入一个Map集合,key为表字段,value为表字段值。

    注意:Map的key为数据表的字段名,不是实体类属性名。

    http://img1.sycdn.imooc.com//5f8db73b0001b9d807150200.jpg

    查看全部
    0 采集 收起 来源:普通查询

    2020-10-19

举报

0/150
提交
取消
课程须知
1、有Java开发基础,了解Lambda表达式; 2、至少会使用一种关系型数据库; 3、熟悉Maven; 4、熟悉SpringBoot; 5、最好熟悉MyBatis。
老师告诉你能学到什么?
1、了解MP的基本原理及框架特点; 2、掌握MP通用Mapper的使用; 3、掌握MP常用注解的使用; 4、掌握ActiveRecord模式的使用; 5、掌握MP多种主键策略的使用; 6、掌握MP常用配置的使用; 7、掌握MP通用Service的使用; 8、掌握MP在某些应用场景下的具体使用方式。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!