springboot整合mybatis:配置和注解实现
我们整合第三方的启动器的时候
springboot自带的starter 一般叫spring-boot-starter-*
第三方的starter一般叫 *-spring-boot-starter
我们先导starter
一:配置实现
我们写好实体类,mapper接口(这个接口要使用@Mapper接口,实现自动扫描),导入maybatis全局配置文件,写好sql映射配置文件
将全局配置文件跟sql映射配置文件 mapper.xml文件配置到yaml文件中就可以使用了
注意service层调dao层
我们在全局配置文件中可以写别名,可以启用驼峰命名法等等!
注意:
我们也可以不写全局配置文件,只需要在yaml中配置configuration,就可以不写全局匹配值文件了,并且在configuration中也可以进行设置
mybatis
configuration
设置属性等等
yaml:
mybatis:
mapper-locations: classpath:mybatis/Mapper/*.xml
Mapper接口:注意把接口用@Mapper注册到springboot中
package com.example.adminproject.Mapper; import com.example.adminproject.Bean.Books; import org.apache.ibatis.annotations.Mapper; @Mapper public interface BookMapper { public Books GetBook(int bookID); }
我们总写@Mapper太多了,可以试着在springboot总类中使用@MapperScan("mapper所在的包") 批量扫描
mapper.xml
<?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.adminproject.Mapper.BookMapper"> <!--id是接口返回的方法,resultType是方法返回的类型--> <select id="GetBook" resultType="com.example.adminproject.Bean.Books" > select * from books where bookID =#{bookID} </select> </mapper>
service层调dao层
package com.example.adminproject.service; import com.example.adminproject.Bean.Books; import com.example.adminproject.Mapper.BookMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class Bookservice { @Autowired BookMapper bookMapper; public Books GetBook(int bookID){ Books books = bookMapper.GetBook(bookID); return books; } }
controller层调用service层
往前台返回json格式
@Controller public class mybatisController { @Autowired Bookservice bookservice; @RequestMapping("/book") @ResponseBody public Books GetBook(@RequestParam("id") int id){ return bookservice.GetBook(id); } }
二:注解方式实现
注解实现 注解版的适合简单sql的实现
https://github.com/mybatis/spring-boot-starter/wiki/Quick-Start
分类:
SpringBoot
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!