網站首頁 編程語言 正文
提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔
文章目錄
- 前言
- 一、創(chuàng)建項目,導入依賴,完善項目結構
- 二、編碼
- 1.yml配置
- 2.編寫實體類
- 3.編寫mapper.xml和接口
- 4.編寫業(yè)務層
- 5.編寫控制層
- 6.啟動類加上包掃描注解
- 三.測試
- 總結
前言
SpringBoot支持對其它框架的快速擴展,本篇記錄怎么使用SpringBoot整合Mybatis框架
一、創(chuàng)建項目,導入依賴,完善項目結構
使用IDEA創(chuàng)建SpringBoot項目上篇已經講過,不再贅述,大家可以自行觀看http://t.csdn.cn/1N423
直接從導入依賴開始
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.9</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
項目結構如下
二、編碼
1.yml配置
#配置連接數(shù)據庫
spring:
datasource:
username: 用戶民
password: 密碼
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/book?serverTimezone=Asia/Shanghai&characterEncoding=utf8
type: com.alibaba.druid.pool.DruidDataSource
#配置mybatis
mybatis:
# 指定別名設置的包為所有pojo
type-aliases-package: com.lzl.pojo
configuration:
#控制臺輸出
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#mapper.xml文件位置
mapper-locations: classpath:mapper/*.xml
2.編寫實體類
package com.lzl.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* --效率,是成功的核心關鍵--
*
* @Author lzl
* @Date 2023/3/7 19:10
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Book {
private Integer id;
private String bookName;
private String author;
private Double price;
private Integer typeId;
private String description;
private String path;
}
3.編寫mapper.xml和接口
持久層接口
package com.lzl.mapper;
import com.lzl.pojo.Book;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* --效率,是成功的核心關鍵--
*
* @Author lzl
* @Date 2023/3/7 19:18
*/
@Repository
public interface BookMapper {
List<Book> getAll();
}
映射文件
<?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.lzl.mapper.BookMapper">
<resultMap id="bookMap" type="book">
<id column="id" property="id"/>
<result column="book_name" property="bookName"/>
<result column="author" property="author"/>
<result column="price" property="price"/>
<result column="type_id" property="typeId"/>
<result column="description" property="description"/>
<result column="path" property="path"/>
</resultMap>
<sql id="selectSql">
select id,book_name,author,price,description,path from book
</sql>
<select id="getAll" resultMap="bookMap">
<include refid="selectSql"/>
</select>
</mapper>
4.編寫業(yè)務層
接口:
package com.lzl.service;
import com.lzl.pojo.Book;
import java.util.Map;
/**
* --效率,是成功的核心關鍵--
*
* @Author lzl
* @Date 2023/3/7 19:19
*/
public interface BookService {
Map<String,Object> findAll();
}
實現(xiàn)類:
package com.lzl.service.impl;
import com.lzl.mapper.BookMapper;
import com.lzl.pojo.Book;
import com.lzl.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* --效率,是成功的核心關鍵--
*
* @Author lzl
* @Date 2023/3/7 19:20
*/
@Service
public class BookServiceImpl implements BookService {
@Autowired
private BookMapper mapper;
@Override
public Map<String, Object> findAll() {
Map<String, Object> map = new HashMap<>();
List<Book> list = mapper.getAll();
if (list.size() != 0){
map.put("data",list);
map.put("code",200);
}else{
map.put("msg","沒有數(shù)據!");
map.put("code",200);
}
return map;
}
}
5.編寫控制層
package com.lzl.controller;
import com.lzl.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
* --效率,是成功的核心關鍵--
*
* @Author lzl
* @Date 2023/3/7 19:20
*/
@RestController
@RequestMapping("/book")
public class BookController {
@Autowired
private BookService service;
@RequestMapping("/getAll")
public Map<String,Object> getAll(){
return service.findAll();
}
}
6.啟動類加上包掃描注解
三.測試
啟動項目,瀏覽器訪問http://localhost:8080/book/getAll如下:
成功!
總結
本篇是對mybatis的整合,完成
原文鏈接:https://blog.csdn.net/l_zl2021/article/details/129371063
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-01-07 vite + element項目按需引入后將語言設置為中文
- 2022-03-30 Python?使用和高性能技巧操作大全_python
- 2022-08-19 python?GUI多行輸入文本Text的實現(xiàn)_python
- 2022-05-08 聊聊docker?單機部署redis集群的問題_docker
- 2022-04-30 Python語言中的if語句詳情_python
- 2022-12-07 React中路由的參數(shù)傳遞路由的配置文件詳解_React
- 2022-12-15 C++?Boost?Lambda表達式詳解_C 語言
- 2023-06-05 Qt利用QNetwork實現(xiàn)上傳數(shù)據的示例代碼_C 語言
- 欄目分類
-
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據結構-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支