首先,我創(chuàng)建網(wǎng)一個項目之后,做的第一件事就是要更改其中的pom.xml文件。
有些依賴的配置過高會導(dǎo)致很多問題,向我開始用到最新版本3.0.0,以及-plus版本3.5.2。開始我是先用連接數(shù)據(jù)庫是沒有問題的(就是數(shù)據(jù)都能從數(shù)據(jù)庫中讀取出來),但已換成mp之后,就一直報找不到bean。
很煩,搞了一下午和晚上。去百度搜索都是說要加入@()等等,但還是沒有成功。后來我讓我朋友也試了一下,他一下就好了,對比一下,是版本過高的原因。后來我就把我的版本改為2.7.4()和3.4.2(mp),完整的pom.xml文件如下:
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.7.4
com.example
newspring_ssmp
2b5110671b7b5c09b348f9015651f63b
0.0.1-SNAPSHOT
17
org.springframework.boot
spring-boot-starter-web
mysql
mysql-connector-java
runtime
96da1f00f17c57282479175c89e92297
org.springframework.boot
spring-boot-starter-test
test
com.baomidou
mybatis-plus-boot-starter
3.4.2
24a0a6f13ce4faa751029755dda8ba3f
com.alibaba
druid-spring-boot-starter
1.2.15
org.projectlombok
lombok
144eeba6e6d4005eeedc9bb68b468a16
org.springframework.boot
spring-boot-maven-plugin
還有需要注意的地方,就是導(dǎo)入mysql依賴時,盡量選第二個
pom.xml配置文件需要注意的就是這些了。
下面是關(guān)于數(shù)據(jù)庫列名與實體屬性名不一致的問題。
若是主鍵名不一致狼奔代碼生成器6.5,可以用@來指定,其他屬性用@,如下:
public class Book {
@TableId(value = "bookid")
e43e987185cea8e711362b6b562ce703
private int id;//因為數(shù)據(jù)庫中主鍵名為bookid
@TableField(value = "name")
private String bookname;//數(shù)據(jù)庫中,名字為name
private String author;//與數(shù)據(jù)庫一致
private String des;
private String price;
private String type;
private String photoname;
}
最后一個需要注意的是,用mp插入數(shù)據(jù)時關(guān)于id解決問題
正常我們插入數(shù)據(jù)后id應(yīng)該是雖數(shù)據(jù)庫自增的,但mp的插入id是使用雪花算法來計算的,如果我們沒有做配置狼奔代碼生成器6.5,那么他就會報以下錯誤。
我們只需要改一下yml文件一下即可
加上id-type那么問題就解決啦。
最后強調(diào),一定要注意版本,不要太高了(因為我也是跟視頻學(xué)的,不然錯了,就不知道怎么解決了)