springboot 配置mybatis通用mapper

springboot 配置mybatis通用mapper声明:此处为springboot配置mybatis的通用mapper方一共步其他多余操作不要有1添加mapper依赖一定要有以下依赖的jar包注意jar包版本,太高会导致功能不可用<!–SpringBootMybatis依赖–><dependency><groupId>org…

大家好,又见面了,我是你们的朋友全栈君。

声明:

此处为springboot 配置mybatis的通用mapper方

一共步其他多余操作不要有

1添加mapper依赖

一定要有以下依赖的jar包

注意jar包版本,太高会导致功能不可用

 <!-- Spring Boot Mybatis 依赖 -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>${mybatis-spring-boot}</version>
        </dependency>
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>1.1.7</version>
        </dependency>
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper</artifactId>
            <version>3.4.6</version>
        </dependency>

        <dependency>
            <groupId>javax.persistence</groupId>
            <artifactId>persistence-api</artifactId>
            <version>1.0</version>
        </dependency>

2application.yml.文件

配置数据源,myabtis  logging和elastic-job可忽略

spring:
  datasource:
    jdbc-url: jdbc:mysql://172.20.94.39:3306/marketing?characterEncoding=utf-8&verifyServerCertificate=false&useSSL=false&requireSSL=false
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: marketing
    password: marketing
    type: com.zaxxer.hikari.HikariDataSource
mybatis:
  type-aliases-package: com.renrenche.marketing.ads_scheduler.domain
#  mapper-locations: classpath:mapper/*.xml


logging:
  config: classpath:log4j2-development.yml

elastic-job:
  zookeeper-servers: 172.20.94.39:2181
  namespace: marketing-ads-scheduler


3编写MyMapper通用工具类 放在util包下,不要与正常的dao层mapper放到一起!!!

package com.renrenche.marketing.ads_scheduler.common.utils;

/**
 * Created by Administrator on 2017/8/4.
 */

import tk.mybatis.mapper.common.ConditionMapper;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;
import tk.mybatis.mapper.common.special.InsertListMapper;

/**
 * 继承自己的MyMapper
 *
 * @author junwen
 * @since 2017年8月22日11:50:27
 */
public interface MyMapper<T> extends Mapper<T>,
        MySqlMapper<T>,
        ConditionMapper<T>,
        InsertListMapper<T> {

    //TODO
    //FIXME 特别注意,该接口不能被扫描到,否则会出错
}

4配置mapper配置文件

package com.renrenche.marketing.ads_scheduler.config;

import java.util.Properties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import tk.mybatis.spring.mapper.MapperScannerConfigurer;

@Configuration
public class MapperConfig {
    @Bean
    public MapperScannerConfigurer mapperScannerConfigurer() {
        MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
        mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactory");
        mapperScannerConfigurer.setBasePackage("com.renrenche.marketing.ads_scheduler.dao");//扫描该路径下的dao
        Properties properties = new Properties();
        properties.setProperty("mappers", "com.renrenche.marketing.ads_scheduler.common.utils.MyMapper");//通用dao
        properties.setProperty("notEmpty", "false");
        properties.setProperty("IDENTITY", "MYSQL");
        mapperScannerConfigurer.setProperties(properties);
        return mapperScannerConfigurer;
    }

}

 

5不需要在启动类上添加@MapperScan注解
6不需要在application.yml文件添加mapper配置

配好之后使用方法    dao.select()无报错并有返回值就代表已经配好了。
通用mapper的好处,可以省区增删改查的代码开发,加快开发速度,有很好的通用方法。省去一些值需要写简单增删改查的xml文件。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152674.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • html怎么制作动态网站_dw如何导入文件

    html怎么制作动态网站_dw如何导入文件[导入]构建动态 WAP 站点

    2022年4月22日
    56
  • Spring常见面试题总结(超详细回答)

    Spring常见面试题总结(超详细回答)

    2021年4月10日
    120
  • vue双向绑定数组和对象有什么区别_后端接收前端json数据

    vue双向绑定数组和对象有什么区别_后端接收前端json数据众所周知,vue中v-model会忽略所有表单元素的value、checked、selectedattribute的初始值而总是将Vue实例的数据作为数据来源。大部分情况,v-model是绑定一个对象的属性,但是如果数据库中的数据是一个数组,这种情况下,如果把数组转换成对象再绑定,然后再转换回去提交到数据库显然是一件工程量很大的事情,本着程序员偷懒的原则,我发现了一个便捷的方法,废话不多说,直接上干货。HTML代码如下:<!DOCTYPEhtml><htmllan.

    2022年9月14日
    0
  • java后端开发需要学什么_从事Java后端开发,要学习哪些知识和技能?[通俗易懂]

    java后端开发需要学什么_从事Java后端开发,要学习哪些知识和技能?[通俗易懂]首先要明确后端包括哪些职业:DBA(数据库维护优化专家),Developer(程序猿),Architect(构架师),Scrummaster及类似(敏捷开发专家),ProjectManager(产品狗),Maintenance&ITsupport(通讯和服务器相关),当然这只是一个大致的分类,并没有一个清晰的界限。按程序猿内功而言:关系型数据库,领域驱动设计(Domain-Drive…

    2022年7月7日
    20
  • mysql 的longtext类型对应java什么类型?

    mysql 的longtext类型对应java什么类型?在mysql的shu数据库中我们存的是小图片的base64位的编码信息。那么在java中对应什么类型呢?`cardPic`longtextCOLLATEutf8mb4_unicode_ciCOMMENT’图片正面’,`cardPic1`longtextCOLLATEutf8mb4_unicode_ciCOMMENT’图片背面’,具体代码查看:https://suxi…

    2022年5月14日
    51
  • linux 开发板 ldd,Linux ldd命令

    linux 开发板 ldd,Linux ldd命令Linux下的lld命令的主要作用:用来查看程式运行所需的共享库,常用来解决程式因缺少某个库文件而不能运行的一些问题。ldd是list,dynamic,dependencies的缩写,列出动态库依赖关系。可以用ldd–help或者manldd来看其用法。可以用which命令找到ldd的位置:$whichldd/usr/bin/ldd使用ldd,往往在制作自己的发行版时经常需要判断某条命…

    2022年6月11日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号