专业的编程技术博客社区

网站首页 > 博客文章 正文

mybatis系列-5分钟教你提升CRUD开发效率200%

baijin 2024-08-20 10:26:07 博客文章 6 ℃ 0 评论

应用开发离不开数据库,有数据库就有CURD,把大量的时间花在写CURD的基础操作上,简直是浪费生命,手都敲软了,一看还有几个操作的SQL没有完成,心理MMP,但还得埋头继续苦干。所以,tkmybatis来了,看他如何解放你的双手,还你更多聊天刷抖音的时间。

前面文章已经对比了mybatis、mybatisspring和tkmybatis。其中最方便和强大的无疑是tkmybatis,它自动帮你实现了数据库单表操作能想到的所有的接口,重要的是,不需要你敲一行SQL代码。放接口:

现在我们实操下,看如何用Sprintboot整合tkmybatis实现数据库访问。

一、前置条件

默认已通过tk-mybatis generator自动生成了po、dao和*mapper.xml(参考上一篇文章5分钟搞定mapper、pojo、xml代码自动生成”),补全Springboot相关依赖,包括spring-boot-starter、spring-boot-starter-web。

二、整合tkmybatis

1、在pom.xml文件中添加依赖

 <!--tk.mybatis依赖-->
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>2.1.5</version>
        </dependency>

        <!-- mysql驱动依赖 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.46</version>
            <scope>runtime</scope>
        </dependency>

2、application.properties文件中增加数据源配置和tkmybatis配置

# datasource配置
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/foodie-shop?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456

# TkMybatis配置
## mapper映射文件,配置自动生成的*mapper.xml文件的位置
mybatis.mapper-locations=classpath*:mapper/*.xml
## 所有POJO类所在包路径
mybatis.type-aliases-package=com.example.demotkmybatisgenerator.pojo

3、springboot启动类中配置@MapperScan

@MapperScan一定要配置,该注解制定了DAO层mapper的扫描路径,如果没有配置,那么service中注入的mapper对象,比如OrdersMapper,会注入失败

package com.example.demotkmybatis;

import tk.mybatis.mapper.provider.base.BaseSelectProvider;
import tk.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.example.demotkmybatisgenerator.mapper")
public class DemoTkmybatisApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoTkmybatisApplication.class, args);
    }
}

4、注入dao层mapper实例,实现数据库调用

通过@Autowired注入的方式,将对应的*Mapper实例注入到需要进行数据库访问的服务中。

package com.example.demotkmybatis.service.impl;
import com.example.demotkmybatis.service.IOrdersService;
import com.example.demotkmybatisgenerator.mapper.OrdersMapper;
import com.example.demotkmybatisgenerator.pojo.Orders;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service;
import java.util.List;

@Service
public class OdersService implements IOrdersService {

    @Autowired
    private OrdersMapper ordersMapper;

    @Override
    public List<Orders> findAll() {
        return ordersMapper.selectAll();
    }
}

至此,整合tkmybatis所需的所有配置已经完成,启动springboot应用后,service层直接调用注入的mapper接口就可以进行数据库操作。这里省略了controller层对service层的调用,自己根据实际情况进行补全就行。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表