Springboot3兼容问题
我的Springboot版本:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
用的MP版本:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.5</version>
</dependency>
和一般网络教程的区别在于,它的boot后面有3:)
最好还是去官网复制一下,反正是国人写的,在这里放个链接
数据库报错
Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'password' in 'field list'
有的大佬说是root账户密码出问题,新版本的mysql采用了authentication_string来替代password字段,有的大佬说是拦截器配置的问题,有的说是sql驱动的问题
我的解答比较弱智,是我表名写错了,tbl_user表名写成了user表名,后者没有password字段:)
补充解答:
如果代码已经写差不多了不好改变量名,可以在实体类User上添加@TableName("tbl_user"),设置表名映射关系,默认表名是类名首字母小写user
或者在yml文件里全局配置表名前缀table-prefix: tbl_
也可以在成员变量password上添加@TableField(exist = false),直接声明该字段在表中不存在
或者在成员变量password上添加@TableField(value = "pws"),设置成员变量和已存在字段名的映射关系,默认字段名会把“_”映射成驼峰命名
上述特性应该是Mybatis的,记不清了,能用就行