在之前的兩篇文章與大家簡單分享了一下在SpringBoot應用中如何使用JPA操作數據庫,但在我們的實際開發中,JPA用的相對較少,雖然其上手異常簡單,但想要執行高效的SQL語句還是有一定的學習難度的。今天與大家介紹如何使用Mybatis(使用註解書寫SQL語句)。
不多廢話!
1、老老的規矩!先看pom文件,如下
<dependencies>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<!-- mysql驅動-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<!-- druid連接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.9</version>
</dependency>
<!-- 測試組件-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
2、配置文件application.yml
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/mybatis?&characterEncoding=utf-8&useSSL=false #數據庫的連接信息
driver-class-name: com.mysql.jdbc.Driver #數據庫驅動
username: root #數據庫的用戶名
password: 123456 #數據庫的密碼
type: com.alibaba.druid.pool.DruidDataSource #使用druid連接池
mybatis:
configuration:
map-underscore-to-camel-case: true #開啓mybatis駝峯轉下劃線命名規則規則
註釋我都寫裏面啦~
3、創建用於測試的User實體類
@Data
public class User {
private Long id;
private String userName;
}
4、測試用的UserMapper
public interface UserMapper {
@Select("select * from tb_user where id = #{id}")
public User getUserById(long id);
}
可以看到,這個藉口裏面只有一個方法,方法上註解中的內容相信大家都不陌生,我就不過多描述了。
5、啓動類
@SpringBootApplication
@MapperScan("com.xiao.mapper")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
注意:啓動類上要添加@MapperScan註解,這也是最容易忘記的地方,在這裏稍做強調!
6、創建UserMapper的測試類UserMapperTest
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserMapperTest {
@Autowired
private UserMapper userMapper;
@Test
public void getUserById(){
User user = userMapper.getUserById(1L);
System.out.println(user);
Assert.assertNotNull(user);
}
}
不會進行單元測試?傳送門
7、最終工程目錄如下
8、數據庫信息如下
9、啓動測試類,觀察我們的控制檯日誌輸出
可以看到,數據已經被成功的查詢打印出來!
是不是也很簡單呢!
源碼鏈接:
https://github.com/devilyang123/SpringBoot-Learning/tree/master/springboot-mybatis-annotation
歡迎關注我的個人公衆號“笑笑是一個碼農”,第一時間獲取最新文章。
您的關注,就是支持我持續寫作的最大動力!
還可以免費領取前後端全站學習視頻資料呦~
個人微信號,如需添加微信,請備註來源,因爲媽媽從小就告訴我不要隨便跟陌生人聊天!(嘿嘿~)