广告
返回顶部
首页 > 资讯 > 精选 >SpringBoot怎么整合tkMapper
  • 950
分享到

SpringBoot怎么整合tkMapper

2023-07-04 14:07:52 950人浏览 泡泡鱼
摘要

本篇内容主要讲解“SpringBoot怎么整合tkMapper”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springBoot怎么整合tkMapper”吧!SpringBoot整合tkMapp

本篇内容主要讲解“SpringBoot怎么整合tkMapper”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习springBoot怎么整合tkMapper”吧!

SpringBoot整合tkMapper

搭建一个SpringBoot的项目,怎么搭建网上教程一大堆,这里就不描述了直接进入正题,首先先看一下整体的项目结构

SpringBoot怎么整合tkMapper

pom文件引入依赖(注意依赖冲突)

<dependencies>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-WEB</artifactId>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-test</artifactId>            <scope>test</scope>        </dependency>        <!--lombok省略代码-->        <dependency>            <groupId>org.projectlombok</groupId>            <artifactId>lombok</artifactId>            <optional>true</optional>        </dependency>        <!-- h3嵌入式数据-->        <dependency>            <groupId>com.h3Database</groupId>            <artifactId>h3</artifactId>            <scope>runtime</scope>        </dependency>        <!-- tk-->        <dependency>            <groupId>tk.mybatis</groupId>            <artifactId>mapper-spring-boot-starter</artifactId>            <version>RELEASE</version>        </dependency>        <dependency>            <groupId>tk.mybatis</groupId>            <artifactId>mapper</artifactId>            <version>3.4.5</version>        </dependency>    </dependencies>

在resources目录下新建db文件夹,用来存放数据文件,其中schema-h3.sql为数据库 Schema 脚本,data-h3.sql为Data脚本

schema-h3.sql

DROP TABLE IF EXISTS user;CREATE TABLE user(    id BIGINT(20) NOT NULL COMMENT '主键ID',    name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',    age INT(11) NULL DEFAULT NULL COMMENT '年龄',    email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',    PRIMARY KEY (id));

data-h3.sql

DELETE FROM user;INSERT INTO user (id, name, age, email) VALUES(1, 'red', 18, 'test1@tian.com'),(2, 'yll', 20, 'test2@tian.com'),(3, 'putty', 22, 'test3@tian.com'),(4, 'ele', 24, 'test4@tian.com'),(5, 'tom', 26, 'test5@tian.com');

application.yml

spring:  datasource:    driver-class-name: org.h3.Driver    schema: classpath:db/schema-h3.sql    data: classpath:db/data-h3.sql    url: jdbc:h3:mem:root    username: root    passWord: root

在生成的项目路径下新建一个 tk 包,在 tk 包下新建bean包(存放实体类),dao 包(存放 Mapper 接口类),config 包(存放配置类)

tk 包下新建通用 Mapper 接口 MyMapper

继承Mapper和MySqlMapper,以后我们的业务dao直接集成MyMapper即可

此接口不能被扫描到,否则会报错

MyMapper.java

package com.tian.tkmapper;import org.springframework.stereotype.Repository;import tk.mybatis.mapper.common.Mapper;import tk.mybatis.mapper.common.MysqlMapper;@Repositorypublic interface MyMapper<T> extends Mapper<T> ,mysqlMapper<T> {}

bean包下新建User类,此处使用了Lombok省略代码,@Data注解包含get/set等方法

User.java

package com.tian.tkmapper.tk.bean;import lombok.Data;@Datapublic class User {    private Long id;    private String name;    private Integer age;    private String email;}

dao包下新建业务接口UserDao

UserDao.java

package com.tian.tkmapper.tk.dao;import com.tian.tkmapper.MyMapper;import com.tian.tkmapper.tk.bean.User;import org.springframework.stereotype.Repository;@Repositorypublic interface UserDao extends MyMapper<User> {}

config包下新建配置类MybatisConfigurer

MybatisConfigurer.java

package com.tian.tkmapper.tk.config;import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring.SqlSessionFactoryBean;import org.springframework.boot.autoconfigure.AutoConfigureAfter;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import tk.mybatis.spring.mapper.MapperScannerConfigurer;import javax.annotation.Resource;import javax.sql.DataSource;import java.util.Properties;@Configurationpublic class MybatisConfigurer {    @Resource    private DataSource dataSource;    @Bean    public SqlSessionFactory sqlSessionFactoryBean() throws Exception {        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();        bean.setDataSource(dataSource);        bean.setTypeAliasesPackage("com.tian.tkmapper.tk.bean");        //添加XML目录//        ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();//        bean.setMapperLocations(resolver.getResources("classpath:mapper/*.xml"));        return bean.getObject();    }    @Configuration    @AutoConfigureAfter(MybatisConfigurer.class)    public static class MyBatisMapperScannerConfigurer {        @Bean        public MapperScannerConfigurer mapperScannerConfigurer() {            MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();            mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactoryBean");            mapperScannerConfigurer.setBasePackage("com.tian.tkmapper.tk.dao.*");            //配置通用mappers            Properties properties = new Properties();            properties.setProperty("mappers", "com.tian.tkmapper.MyMapper");            properties.setProperty("notEmpty", "false");            properties.setProperty("IDENTITY", "MYSQL");            mapperScannerConfigurer.setProperties(properties);            return mapperScannerConfigurer;        }    }   }

在启动类添加@MapperScan

package com.tian.tkmapper;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import tk.mybatis.spring.annotation.MapperScan;@SpringBootApplication@MapperScan(basePackages = "com.tian.tkmapper.tk.dao")//mapper接口的路径public class TkmapperApplication {    public static void main(String[] args) {        SpringApplication.run(TkmapperApplication.class, args);    }}

测试代码进行测试

package com.tian.tkmapper;import com.tian.tkmapper.tk.bean.User;import com.tian.tkmapper.tk.dao.UserDao;import org.junit.Assert;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner;import java.util.List;@RunWith(SpringRunner.class)@SpringBootTestpublic class TkmapperApplicationTests {    @Autowired    private UserDao userDao;    @Test    public void testSelect() {        System.out.println(("----- selectAll method test ------"));        List<User> userList = userDao.selectAll();        Assert.assertEquals(5, userList.size());        userList.forEach(System.out::println);    }   }

最后看到显示输出为如下即成功

SpringBoot怎么整合tkMapper

遇到的坑

    a> MyMapper不能被扫描到,解决方案很多,不让启动类启动时扫描到就可以    b> 启动类中@MapperScan要引tk包下面的 import tk.mybatis.spring.annotation.MapperScan;    c>pom文件依赖冲突

到此,相信大家对“SpringBoot怎么整合tkMapper”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: SpringBoot怎么整合tkMapper

本文链接: https://www.lsjlt.com/news/345627.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot怎么整合tkMapper
    本篇内容主要讲解“SpringBoot怎么整合tkMapper”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot怎么整合tkMapper”吧!SpringBoot整合tkMapp...
    99+
    2023-07-04
  • SpringBoot整合tkMapper的方法
    SpringBoot整合tkMapper 项目使用SpringBoot2.0,H2数据库,使用了 Lombok 简化代码;本人是刚入门的菜鸟,下面是本人使用SpringBoot整合t...
    99+
    2022-11-13
    SpringBoot整合tkMapper SpringBoot tkMapper SpringBoot tkMapper使用
  • SpringBoot怎么整合EasyExcel
    这篇文章主要介绍“SpringBoot怎么整合EasyExcel”,在日常操作中,相信很多人在SpringBoot怎么整合EasyExcel问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringBoot怎...
    99+
    2023-06-21
  • SpringBoot怎么整合SpringDataJPA
    本篇内容主要讲解“SpringBoot怎么整合SpringDataJPA”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot怎么整合SpringDataJPA”吧!目录Spring...
    99+
    2023-06-20
  • SpringBoot怎么整合chatGPT
    这篇文章主要介绍了SpringBoot怎么整合chatGPT的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot怎么整合chatGPT文章都会有所收获,下面我们一起来看看吧。1 添加依赖 ...
    99+
    2023-07-05
  • SpringBoot怎么整合Kafka
    本文小编为大家详细介绍“SpringBoot怎么整合Kafka”,内容详细,步骤清晰,细节处理妥当,希望这篇“SpringBoot怎么整合Kafka”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起...
    99+
    2022-10-19
  • springboot怎么整合docker
    今天就跟大家聊聊有关springboot怎么整合docker,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache...
    99+
    2023-06-19
  • Springboot怎么整合RabbitMQ
    本篇文章给大家分享的是有关Springboot怎么整合RabbitMQ,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。准备工作15minIDEAmaven 3.0在开始构建项目之...
    99+
    2023-06-19
  • Springboot怎么整合https
    本篇内容介绍了“Springboot怎么整合https”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1 简介HTTP是不安全的,我们需要给它...
    99+
    2023-06-08
  • SpringBoot怎么整合Pulsar
    这篇文章主要介绍了SpringBoot怎么整合Pulsar的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot怎么整合Pulsar文章都会有所收获,下面我们一起来看看吧。一、添加pom.xml依赖...
    99+
    2023-07-02
  • SpringBoot怎么整合SpringDataRedis
    今天小编给大家分享一下SpringBoot怎么整合SpringDataRedis的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
    99+
    2023-06-19
  • SpringBoot怎么整合Mybatis
    这篇文章主要介绍了SpringBoot怎么整合Mybatis的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot怎么整合Mybatis文章都会有所收获,下面我们一起来看看吧。Mybatis的简单介...
    99+
    2023-07-05
  • SpringBoot中怎么整合SpringSecurity
    SpringBoot中怎么整合SpringSecurity,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.导包<dependency> ...
    99+
    2023-06-05
  • SpringBoot怎么整合Apache Pulsar
    这篇文章主要介绍了SpringBoot怎么整合Apache Pulsar的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot怎么整合Apache Pulsar文章都会有所收获,...
    99+
    2023-07-05
  • springboot怎么整合xxl-job
    本文小编为大家详细介绍“springboot怎么整合xxl-job”,内容详细,步骤清晰,细节处理妥当,希望这篇“springboot怎么整合xxl-job”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。关于xxl...
    99+
    2023-07-02
  • SpringBoot中怎么整合Redis
    SpringBoot中怎么整合Redis,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、安装首先要在本地安装一个redis程序,安装过程十分简单(略过),安装完成后进入到...
    99+
    2023-06-16
  • SpringBoot怎么快速整合SpringSecurity
    这篇文章主要介绍了SpringBoot怎么快速整合SpringSecurity的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot怎么快速整合SpringSecurity文章都会有所收获,下面我们...
    99+
    2023-07-05
  • SpringBoot怎么整合mybatis+mybatis-plus
    本文小编为大家详细介绍“SpringBoot怎么整合mybatis+mybatis-plus”,内容详细,步骤清晰,细节处理妥当,希望这篇“SpringBoot怎么整合mybatis+mybatis-plus”文章能帮助大家解决疑惑,下面跟...
    99+
    2023-07-02
  • SpringBoot怎么整合Redis缓存
    SpringBoot怎么整合Redis缓存?针对这个问题,今天小编总结了这篇文章,希望能帮助更多想解决这个问题的朋友找到更加简单易行的办法。1、引入缓存依赖<dependency> &...
    99+
    2022-10-18
  • springboot怎么整合freemarker模板
    今天小编给大家分享一下springboot怎么整合freemarker模板的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作