springboot整合mybatis流程詳解
1.mybatis是什么
MyBatis 是一款優(yōu)秀的持久層框架,它支持自定義 SQL、存儲(chǔ)過程以及高級(jí)映射。MyBatis 免除了幾乎所有的 JDBC 代碼以及設(shè)置參數(shù)和獲取結(jié)果集的工作。MyBatis 可以通過簡單的 XML 或注解來配置和映射原始類型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 對(duì)象)為數(shù)據(jù)庫中的記錄。
2.整合
兩種方式:
- 新建一個(gè)mybaits-config.xml文件,內(nèi)容配置其中
- 在springboot核心配置文件application.yaml中,配置mybatis內(nèi)容(這邊只展示第二種)
2.0 前期工作:保證可以連接上數(shù)據(jù)庫
導(dǎo)入依賴:
<!--數(shù)據(jù)庫啟動(dòng)器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: xxx
url: jdbc:mysql://localhost:3306/mybatis
springboot中默認(rèn)使用hikari連接池,號(hào)稱最快的連接池。連接池還有DBCP,c3p0,druid…
2.1 導(dǎo)入依賴
<!--引入 mybatis-spring-boot-starter 的依賴-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
2.2 創(chuàng)建包和類

mapper層:
@Mapper
public interface EmployeeMapper {
public Employee getEmpById(Integer id);
}
mapper層對(duì)應(yīng)的xm文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.EmployeeMapper">
<select id="getEmpById" resultType="com.example.entity.Employee">
select * from employee where id = #{id}
</select>
</mapper>
2.3 在application.yaml配置mybatis
mybatis:
mapper-locations: classpath:mybatis/mapper/*.xml # 找到mapper層對(duì)應(yīng)的xml文件
config-location: mybatis-config.xml # mybatis配置文件,resource目錄下
mybaits的屬性設(shè)置參考文檔:https://mybatis.net.cn/configuration.html#settings
3.使用注解版mybaits
在mapper接口的方法上,使用注解增刪改查@Update()、 @Insert()、 @Select()、@Delete()
@Insert("insert into employee (name,age,position) values(#{name},{age},#{position})")
void insert(Employee employee);
@Select("select * from employee where id = #{id}")
void selectById(Integerid);4.實(shí)戰(zhàn)過程
- 引入mybatis-spring-boot-start
- 配置application.yaml中,指定mapper-locations位置
- 編寫mapper接口并標(biāo)注@Mapper注解
- 簡單方法直接使用注解
- 復(fù)雜方法編寫在mapper.xml進(jìn)行綁定映射
- @MapperScan(“com.lmh.mapper”)簡化,該目錄下的mapper接口就可不添加@Mapper注解
到此這篇關(guān)于springboot整合mybatis流程詳解的文章就介紹到這了,更多相關(guān)springboot mybatis內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用stream的Collectors.toMap()方法常見的問題及解決
這篇文章主要介紹了使用stream的Collectors.toMap()方法常見的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
使用cmd根據(jù)WSDL網(wǎng)址生成java客戶端代碼的實(shí)現(xiàn)
這篇文章主要介紹了使用cmd根據(jù)WSDL網(wǎng)址生成java客戶端代碼的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03
SpringBoot實(shí)現(xiàn)AOP切面的三種方式
Spring,SpringBoot框架憑借多種高效機(jī)制,顯著增強(qiáng)了代碼的功能性,并實(shí)現(xiàn)了切面編程(AOP)的精髓,其核心亮點(diǎn)之一,是運(yùn)用動(dòng)態(tài)代理技術(shù),無需觸動(dòng)源代碼即可在Bean的運(yùn)行時(shí)為其動(dòng)態(tài)織入額外功能,本文給大家介紹了SpringBoot通過3種方式實(shí)現(xiàn)AOP切面,需要的朋友可以參考下2024-08-08
IntelliJ IDEA的數(shù)據(jù)庫管理工具實(shí)在太方便了(推薦)
這篇文章主要介紹了IntelliJ IDEA的數(shù)據(jù)庫管理工具實(shí)在太方便了,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
JavaWeb項(xiàng)目中DLL文件動(dòng)態(tài)加載方法
在JavaWeb項(xiàng)目中,有時(shí)候我們需要在運(yùn)行時(shí)動(dòng)態(tài)加載DLL文件(在Windows中是DLL,在Linux中是SO文件),這通常用于實(shí)現(xiàn)一些特定的功能,比如調(diào)用本機(jī)代碼或者使用某些特定于操作系統(tǒng)的API,本文將介紹如何在JavaWeb項(xiàng)目中動(dòng)態(tài)加載DLL文件,需要的朋友可以參考下2024-12-12

