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

MyBatis-Plus入门

难度高级
时长 4小时 0分
学习人数
综合评分9.57
101人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.6 逻辑清晰

讲师回答 / 老猿
我试验了一下,使用selectMapsPage后确实是这样。你还有一个办法,你想要每页的记录是List泛型是Map的是吗?你可以使用selectPage方法,返回的对象是IPage类型的对象,你使用IPage接口的 default <R> IPage<R> convert(Function<? super T, ? extends R> mapper)这个方法转换一下。

讲师回答 / 老猿
别的地方如果想用等于也是可以的,就是写法要不一样。在实体中加的这个condition。只是实体作为条件构造器的构造函数的参数的时候才会生效,其他地方你可以把name等于直接用条件构造器构造,通过构造函数创建条件构造器时不传实体。

讲师回答 / 老猿
给你简单举个例子,大概这么用<...code...>你看看还有没有疑问。

讲师回答 / 老猿
有点不太明白,你这个sql语句用原生的mybatis就可以实现,关键字你写错,是like,不是liker。还有like你模糊查询不用通配符吗?不用通配符那是精确匹配啊。where 后面的1=1不用写,原生的<where>标签就可以解决这个问题。     如果用MP的条件构造器实现,大概是这样,我没加那个1=1,应为没有必要:<...code...>

已采纳回答 / 老猿
这个达梦数据库,我也没有用过,如果方便的话,你在github或者码云上提一个issus吧。或者加入mybatis-plus的官方群中,询问作者。

最新回答 / Bug总是难免的
!k.equals("remark") == false当然是不添加了。

讲师回答 / 老猿
你好,同学,你说的转化是保存到数据库中,还是想转换成json数据给前端呀。我试验了一下,保存数据是没有问题的,实体类中如果字段为LocalDate。如果你使用的是mysql数据库,可以对应的表字段类型为date,如果你使用的是datetime,那么保存的日期正常,时间是00:00:00。如果是要将pojo对象转换成json串的话,不同的框架处理的方式有些不一样,fastjson和jackson2都有格式化的注解,你试试是否可行,如果还不能转换,可自定义该类型的转换方法,也是不同框架的实现方式不一样。

已采纳回答 / 老猿
 MP自带的CRUD操作是针对单表操作的,如果要操作多表,可以写自定义sql。给你举个使用条件构造器的多表sql例子,可以写在xml中或注解中,下面的是用xml的写法:123<select id="mySelectList" resultType="User">     select u.*,r.role_name from user u inner join role r on u.role_id = r.role_id ${ew.customSqlSegment}</select&g...

已采纳回答 / 老猿
使用maven构建项目,无论是idea还是eclipse都能在配置中设置下载源码。如果配置了下载源码,你才能在源码中看到注释。

讲师回答 / 老猿
不太明白,你是数据库的表字段使用了关键字吗?如果是的话,前后加单引号转义即可吧。方便的话,把那张表和sql语句发出来,我看看怎么弄。

讲师回答 / 老猿
同学,你这个MapperScan注解中的属性值明显写错了,你的包名开头应该是com,不是ccom,你多写了一个c。

已采纳回答 / 老猿
      我再重发一遍,刚才在你下面留言,不知道为啥被截断了。这不是子查询,MP应该是解决不了这个问题,我的办法就是使用OrderMaster的Mapper先查询OrderMaster。然后用OrderDetail的Mapper根据主表的主键查询从表数据,最后把从表数据赋值到OrderMaster对象上。就是两次查询。       还有个办法就是用mybatis原生的resultMap中配置collection的这种方式。

已采纳回答 / 老猿
        LambdaQueryWrapper可以在service中使用,前提是你的service要继承mp的通用service,我在最后一节中有讲LambdaQueryWrapper怎么用。直接用你的service对象.lambdaQuery()然后根据需求一顿链式操作即可。而使用LambdaUpdateChainWrapper,是直接你的service对象.lambdaUpdate()然后也是根据需求一顿链式调用。       你写的那种new一个LambdaUpdateChainWrapper...

讲师回答 / 老猿
        同学你好,这个问题可能没有标准答案,我说说我的看法,使用MP,你的service可以继承mp的通用service。在通用service中已经把操作本实体的mapper给你注入进来了。你可以在service中实现一个根据年龄查询用户的方法。如果其他service要用,有一种方式是把这个service注入到另一个service中,直接调用,但这种使用方式有争议,有的单位不让这么干,因为同层依赖了。       方式二,你这个查询可以写在Mapper中,就是原生的Mybatis怎么写,你就怎么写...
课程须知
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下载
官方微信
友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消