栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【SpringBoot 教程】基于注解整合 MyBatis

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【SpringBoot 教程】基于注解整合 MyBatis

 
愿你如阳光,明媚不忧伤。

目録
    • 1. Mybatis 简介
    • 2. Mybatis 的配置
    • 3. Mybatis 查询所有数据
    • 4. Mybatis 条件查询

 


1. Mybatis 简介

Mybatis(篱笆墙)是一个持久层框架,是 Apache 下的顶级项目。Mybatis 可以让开发者的主要精力放在 sql 上,通过 Mybatis 提供的映射方式,自由灵活的生成满足需要的 sql 语句。

之前有写过,不再过多介绍 → springMVC + ? 持久化框架的选择(Mybatis 附源码)

 


2. Mybatis 的配置
  • 首先引入 Mybatis 的相关依赖
    使用注解非常方便,什么都不用配置,引入依赖即可。

    cn.wjee.boot
    wjee-mybatis-spring-boot-starter
    2.1.1.3

 


3. Mybatis 查询所有数据

数据库创建,实体类创建请参照上面的连接,不再赘述。

  • KeKanGroupMapper.java
    创建对应数据库的接口,基于注解的整合就不需要 xml 配置文件了。
interface KeKanGroupMapper {
    @Select("select * from kekan_group")
    List getAllKeKanGroup();
}
  • TestController.java
    编写测试类
@RestController
@RequestMapping("/test")
public class TestController extends baseController {
    @Resource
    private KeKanGroupMapper keKanGroupMapper;

    @RequestMapping("/mybatis")
    public List testMybatis() {
        return keKanGroupMapper.getAllKeKanGroup();
    }
}

启动项目,会发现报错了。
A component required a bean of type ‘com.example.itgodroad.controller.KeKanGroupMapper’ that could not be found.
原因是Mapper接口没有被Spring管理进来,导致找不到bean。

解决方案一
Mapper接口上添加Mapper注解

@Mapper
interface KeKanGroupMapper {
    @Select("select * from kekan_group")
    List getAllKeKanGroup();
}

解决方案二(Mapper 多的时候推荐)
启动类上添加MapperScan指定包扫描,我这里仅做测试用,实际要分包,不建议在controller里写Mapper。

@SpringBootApplication
@MapperScan("com.example.itgodroad.controller")
public class ItGodRoadApplication extends SpringBootServletInitializer {
}

浏览器访问:http://localhost:8080/test/mybatis

 


4. Mybatis 条件查询
  • KeKanGroupMapper.java
    添加对应方法和参数即可。
@Mapper
interface KeKanGroupMapper {
    @Select("select * from kekan_group")
    List getAllKeKanGroup();

    @Select("select * from kekan_group where id=#{id}")
    KeKanGroup getKeKanGroupById(String id);

    @Select("select * from kekan_group where id = #{id} and user_name=#{name}")
    KeKanGroup getKeKanGroupByIdAndName(@Param("id") String id, @Param("name") String username);
}
  • TestController.java
    编写测试类
@RestController
@RequestMapping("/test")
public class TestController extends baseController {
    @Resource
    private KeKanGroupMapper keKanGroupMapper;
    
    @RequestMapping("/mybatis")
    public List testMybatis() {
        return keKanGroupMapper.getAllKeKanGroup();
    }
    
    @RequestMapping("/mybatis/getKeKanGroupById")
    public KeKanGroup getKeKanGroupById(String id) {
        return keKanGroupMapper.getKeKanGroupById(id);
    }

    @RequestMapping("/mybatis/getKeKanGroupByIdAndName")
    public KeKanGroup getKeKanGroupByIdAndName(String id, String name) {
        return keKanGroupMapper.getKeKanGroupByIdAndName(id, name);
    }
}

浏览器访问:http://localhost:8080/test/mybatis/getKeKanGroupById?id=20201101

浏览器访问:http://localhost:8080/test/mybatis/getKeKanGroupById?id=20201102&name=布玛

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/332889.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号