之前寫的那篇 "Spring框架學習筆記(5)——Spring Boot創建與使用" ,發現有多小細節沒有提及,,正好現在又學習了mybatis plus這款框架,打算重新整理一遍,並將細節說清楚 1.通過IDEA創建spring boot 2.項目相關配置 只需要修改第一個和第二個,下麵的其他選項 ...
之前寫的那篇Spring框架學習筆記(5)——Spring Boot創建與使用,發現有多小細節沒有提及,,正好現在又學習了mybatis plus這款框架,打算重新整理一遍,並將細節說清楚
1.通過IDEA創建spring boot
2.項目相關配置
只需要修改第一個和第二個,下麵的其他選項會自動改變
3.勾選需要的庫
這一步勾選了之後,spring boot會自動地在pom.xml文件中添加相關對應的第三方開源庫的依賴
這裡如果不熟悉的話,建議不要勾選mybatis和mysql,這樣創建出來的spring boot就可以直接運行而不會報錯,
之後在瀏覽器中直接訪問localhost:8080就可以看到白頁提示,則表明spring boot已經創建成功了,這裡在之前那篇博文詳細講解了,具體在這裡不多說了
4.添加mybatis plus依賴
這裡,官方提示使用了mybatis plus,則不要使用mybatis的依賴,防止衝突
所以,我們使用下麵的依賴把原來的mybatis-spring-boot-starter
那個依賴給替換掉
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1.tmp</version>
</dependency>
我們還需要把依賴中的mysql-connector-java
中的runtime那一行去掉,否則下麵的配置資料庫驅動的時候會找不到驅動文件
5.配置application.yml文件
可以看到項目中存在的application.properties
文件,說明spring boot項目中預設使用的配置文件為properties格式,不過還有另外的一種格式支持,那就是yml格式。
yml方式相比properties,支持嵌套,可讀性較好,所以我是選用了yml格式
server:
port: #埠號,預設不寫就是8080
servlet:
context-path: #項目上下文,必須要以“/”開頭
spring:
datasource:
username: #資料庫用戶名
password: #資料庫密碼
url: jdbc:mysql://localhost:3306/mofang?useUnicode=true&characterEncoding=UTF-8
driver-class-name: com.mysql.cj.jdbc.Driver #直接打mysql會有提示
#showSql日誌輸出,根據自己的包名進行修改
logging:
level:
com:
example:
mapper : debug
PS:註意,yml格式中,冒號後面需要空格
如果是使用oracle,則在之前勾選oracle驅動即可
6.建立實體類
根據資料庫中的表創建對應的實體類
@Data
@ToString
public class User {
private String userName;
private String userPass;
}
PS:我資料庫中存在一個名為user的表,列名分別為user_name,user_pass,mybatis會自動進行欄位的轉換
7.創建mapper介面文件
@Component
public interface UserMapper extends BaseMapper<User> {
}
註意添加註解,讓此類被spring容器管理
這裡介面繼承BaseMapper介面,BaseMapper介面是mybatis plus中提供的介面,裡面封裝好了一些常用的的CRUD操作
這樣一來,我們就不需要書寫xml,從而就可以快速地實現了有些基本的CRUD操作了
8.添加MapperScan註解
mapperScan註解會掃描指定包名中的mapper介面文件,並通過spring進行自動裝載
@SpringBootApplication
@MapperScan("com.wan.shunbang.mapper")
public class ShunbangApplication {
public static void main(String[] args) {
SpringApplication.run(ShunbangApplication.class, args);
}
}
9.測試
@SpringBootTest
public class UserTest {
@Autowired
private UserMapper userMapper;
@Test
void testInsert() {
List<User> users = userMapper.selectList(null);
for (User user : users) {
System.out.println(user.toString());
}
}
}
測試文件我是放在了test的目錄下