小工具      在线工具  汉语词典  dos游戏  css  js  c++  java

spring boot整合mybatis完全注解开发

# Spring Boot,mybatis,spring boot,java 额外说明

收录于:17天前

在ssm项目中,mybatis大多使用xml配置文件,为了简单起见也可以完全注释。 Mybaits已经集成到spring boot中,只需要使用相应的注解即可启动。

  • 只需导入依赖相关的注释并加载它们即可。
 <dependency>
     <groupId>org.mybatis.spring.boot</groupId>
     <artifactId>mybatis-spring-boot-starter</artifactId>
     <version>2.2.2</version>
 </dependency>

 <dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
     <scope>runtime</scope>
 </dependency>
  • 配置数据源和驱动程序

数据源没有使用第三方框架,直接是mybatis的数据源。

spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/smbms?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.type=com.mysql.cj.jdbc.MysqlDataSource
  • 编写mapper映射
@Mapper
public interface ProviderMapper {
    

    @Select("select * from smbms_provider")
    @Results(id = "providerMap",value = {
    
            @Result(column = "id",property = "id", jdbcType = JdbcType.INTEGER,id = true),
            @Result(column = "proCode",property = "proCode"),
            @Result(column = "proName",property = "proName",jdbcType = JdbcType.CHAR),
            @Result(column = "proDesc",property = "proDesc",jdbcType = JdbcType.CHAR),
            @Result(column = "proContact",property = "proContact", jdbcType = JdbcType.CHAR),
            @Result(column = "proPhone",property = "proPhone",jdbcType = JdbcType.CHAR),
            @Result(column = "proAddress",property = "proAddress",jdbcType = JdbcType.CHAR),
            @Result(column = "proFax",property = "proFax",jdbcType = JdbcType.CHAR),
            @Result(column = "createdBy",property = "createdBy",jdbcType = JdbcType.INTEGER),
            @Result(column = "creationDate",property = "creationDate",jdbcType = JdbcType.CHAR),
            @Result(column = "modifyDate",property = "modifyDate",jdbcType = JdbcType.CHAR),
            @Result(column = "modifyBy",property = "modifyBy",jdbcType = JdbcType.INTEGER)

    })
    List<Provider> selectAll();
}

@Mapper注解是mybatis-spring的启动类,使用该注解的类,spring会在IoC容器中时启用SqlSession调用getMapper方法创建并返回BlogMapper。在spring boot项目中不需要使用类似@Repository注解将其注入到IoC容器中,@Mapper已经集成。也可以使用@MapperScan包扫描。

  • 编写业务层
@Repository
public class ProviderServiceImpl implements ProviderService {
    

    @Autowired
    private ProviderMapper providerMapper;

    @Override
    public Provider selectById(int id) {
    

        List<Provider> providers = providerMapper.selectAll();
        Provider provider = providers.get(id);
        return provider;
    }
}
public interface ProviderService {
    
    Provider selectById(int id);
}
  • 控制器返回数据
@RestController

@RequestMapping(value = "/provider")
public class ProviderController {
    

    @Autowired
    private ProviderService providerService;

    @GetMapping(value = "/{id}")
    public Provider getById(@PathVariable int id){
    
        Provider provider = providerService.selectById(id);
        return provider;
    }
}

在这里插入图片描述

spring boot使用mybatis真的十分方便!mybatis也还有其他注解详见mybatis注解开发

. . .

相关推荐

额外说明

Spring零配置下的事务实现

传统Spring框架的事务配置都是在XML配置文件中配置的,指定数据源,事务管理器,切入点等等。 那在零配置下的Spring框架中,要如何实现事务?有一个注解,@EnableTransactionManagement,这个注解能实现对标识了@Transa

额外说明

Java核心基础知识(持续更新)

集合 collection相关 hashmap jdk1.8的新特性 Lamdba表达式 Stream流 方法引用(::) 函数式接口(@FunctionalInterface) 接口允许default方法和static方法 Optional类 字符串拼

额外说明

修改idea的jdk内存大小

  如果修改了idea的bin目录下的idea64.exe.vmoptions没用的话,可以去C盘目录更改  

额外说明

【Docker】Docker网络与存储(三)

前言: Docker网络与存储的作用是实现容器之间的通信和数据持久化,以便有效地部署、扩展和管理容器化应用程序。 文章目录 Docker网络 桥接网络 容器之间的通信 覆盖网络 创建一个覆盖网络 Docker存储卷 总结 Docker网络 Docker网

额外说明

UE4___C++___智能指针——优缺点

为什么使用UE4智能库原因 1.std::shared_ptr(and even tr1::shared_ptr)不是在所有平台上都可用。 2.使得在所有编译器和平台上有更加一致的实现。 3.可以和其他虚幻容器及类型无缝地协作。 4.更好地控制平台特性,

额外说明

实战篇:Linux7 安装 Oracle 19C RAC 详细图文教程

前言 之前发过一篇Oracle 11G RAC手把手教程,有朋友留言评论:19C都出了,为什么还在教11G? 一步步教你Linux7安装Oracle RAC(11GR2版本) 既然如此,那就趁着周末边做边写,来一篇 19C RAC 手把手教程! - 注意

额外说明

Vmware创建Linux虚拟机

很多情况下我们想要一个Linux环境,却很难有条件单独使用一台机器来部署Linux系统,因此经常会选择使用虚拟机的形式或者是选择安装双系统。这里我主要记录一个我在虚拟机中安装Linux系统的过程。 我这里你使用的虚拟机软件是VMware。下面多图预警~~

额外说明

2023.8.25 关于 Selenium 常用 API 详解

目录 引言 打开页面 查找页面元素  输入文本  点击操作 提交操作 清除文本  获取文本和属性值 ​编辑 选择多个元素 获取页面标题和URL 等待操作 浏览器操作 多层框架定位 窗口操作 屏幕截图 下拉框元素选择操作 ​编辑 执行脚本  文件上传  引

额外说明

Cookie

文章目录 为什么会有Cookie? Cookie 的实现原理: Cookie保存方式 Cookie属性: 服务器发送cookie给客户端 客户端发送cookie给服务端 Cookie的修改 Cookie的缺陷 为什么会有Cookie? HTTP是一种无状

额外说明

【Jmeter】报错解决:ERROR: java.net.ConnectException: Connection timed out

目录 一、Linux 服务器端 二、Jmeter 客户端 三、运行 Jmeter perfMon 插件报错 (1)报错详情

ads via 小工具