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

MyBatis-Plus入门

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

已采纳回答 / 老猿
       这个问题不太好回答呀,一般情况下,如果多个方法都能满足你的需求,可以考虑哪个简单方便用哪个。当然也可以哪个用的熟悉用哪个,或者其他的选择方式,这个没有什么绝对的。前提是方法能够满足你的需求,结果是你想要的。

讲师回答 / 老猿
同学呀,你这样问我,我是定位不到问题的。你能把关键代码贴出来吗?

讲师回答 / 老猿
我感觉可能是字符集编码的问题。连接数据库的url参数中需要设置字符集。例如:<...code...>还有项目的字符集,数据库的字符集要统一。

讲师回答 / 老猿
你mybatis-plus的依赖的artifactid是mybatis-plus-boot-starter吗?我感觉是依赖的问题呢,如果你用的是这个依赖,方便的话,把所有的依赖都贴出来,我看看

讲师回答 / 老猿
我试验后发现也是这样,如果排除的是其他属性就好使。id排除不了。

讲师回答 / 老猿
mp的代码生成器,默认不支持生成JSR注解。

已采纳回答 / 老猿
       同学找到原因了,是你在实体中加了@Builder注解的问题,把这个注解去掉就好使了,这个注解加上之后,应该就不生成作用域为public的构造方法了,而是通过建造者模式创建实体类。

已采纳回答 / 老猿
        MP自带的CRUD操作是针对单表操作的,如果要操作多表,可以写自定义sql。给你举个使用条件构造器的多表sql例子,可以写在xml中或注解中,下面的是用xml的写法:<...code...>       对...

讲师回答 / 老猿
应该是idea验证的比较严格,实际上不是错误。你可以把这个验证忽略,设置一下即可。

已采纳回答 / 老猿
同学,没明白你的意思,数据库连接逻辑怎么放到业务层?如果你整合springboot,数据库的连接是连接池给你维护的。分层的目的是为了逻辑清晰,易于扩展和维护。单表查询可以在业务层继承mp的通用service。它自己注入了dao层的mapper接口。两张表连接确实只能自己写sql。

讲师回答 / 老猿
你得使用userService.lambdaQuery(),而不是userService.query(),前者才可以使用lambda的形式。

讲师回答 / 老猿
这个问题,我跟MP项目组成员沟通过,他的答复是MP只负责注入BaseMapper的sql,你那种只能自己写 as 

已采纳回答 / 老猿
       主键注解除了插入外,还有其他用途,如果你使用了主键注解,在调用mp提供的根据id更新和根据id删除的方法时,mp会根据主键注解判断哪个字段是主键来确定where条件。

讲师回答 / 老猿
我看过刘增辉先生讲解mybatis的书籍,叫《Mybatis从入门到精通》,写的挺好的,推荐你看看。

讲师回答 / 老猿
       同学呀,你这么写不是按教程写的呀,教程中我id和managerId的数据类型用的是Long,是基本类型的包装类,你直接用的是基本数据类型呀,基本数据类型long作为成员变量,如果没有赋初始值,那么默认是0,所以结果跟我不一样。
课程须知
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
提交
取消