springBoot整合Mybatis-Plus需要的依赖_springboot中文手册

springBoot整合Mybatis-Plus需要的依赖_springboot中文手册Springboot整合TKMapper使用TKMapper无需再创建mapper.xml文件首先基于springboot完成对MyBatis的整合,然后再对TKMapper进行整合1创建springboot项目勾选必要的依赖整合mybatis引入了mybatis的依赖,就需要配置数据库,创建application.yml文件spring:datasource:url:jdbc:mysql://192.168.1.2:3306/learn_tkmapper?serve

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Springboot整合TKMapper

使用TKMapper无需再创建mapper.xml文件
首先基于springboot完成对MyBatis的整合,然后再对TKMapper进行整合

1 创建springboot项目

在这里插入图片描述
勾选必要的依赖
在这里插入图片描述
整合mybatis
引入了mybatis的依赖,就需要配置数据库,创建 application.yml文件

spring:
  datasource:
    url: jdbc:mysql://192.168.1.2:3306/learn_tkmapper?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
    driver-class-name: com.mysql.jdbc.Driver
    username: root
    password: root

mybatis:
  mapper-locations: classpath:mappers/*Mapper.xml
  type-aliases-package: com.joseph.entity

创建entity包
在这里插入图片描述
创建dao包
在这里插入图片描述
在启动类上添加dao的扫描注解 @MapperScan(“com.joseph.dao”)

package com.joseph;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.joseph.dao")
public class TkmapperLearnApplication { 
   

    public static void main(String[] args) { 
   
        SpringApplication.run(TkmapperLearnApplication.class, args);
    }

}

至此,mybatis整合完成

3 整合tkmapper

1 添加tkmapper依赖

<!-- https://mvnrepository.com/artifact/tk.mybatis/mapper-spring-boot-starter -->
<dependency>
    <groupId>tk.mybatis</groupId>
    <artifactId>mapper-spring-boot-starter</artifactId>
    <version>2.1.5</version>
</dependency>

2 把启动类的扫描注解换成tkmapper的扫描注解
@MapperScan(“com.joseph.dao”)
import tk.mybatis.spring.annotation.MapperScan;
在这里插入图片描述

4 TKMapper的使用

单表的使用

  • 担保操作的方法
  • 逆向生成
    创建数据库的过程略
    1 创建users表
CREATE TABLE `users` (
  `user_id` int(64) NOT NULL AUTO_INCREMENT COMMENT '主键id 用户id',
  `username` varchar(32) NOT NULL COMMENT '用户名 用户名',
  `password` varchar(64) NOT NULL COMMENT '密码 密码',
  `nickname` varchar(32) DEFAULT NULL COMMENT '昵称 昵称',
  `realname` varchar(128) DEFAULT NULL COMMENT '真实姓名 真实姓名',
  `user_img` varchar(1024) NOT NULL COMMENT '头像 头像',
  `user_mobile` varchar(32) DEFAULT NULL COMMENT '手机号 手机号',
  `user_email` varchar(32) DEFAULT NULL COMMENT '邮箱地址 邮箱地址',
  `user_sex` char(1) DEFAULT NULL COMMENT '性别 M(男) or F(女)',
  `user_birth` date DEFAULT NULL COMMENT '生日 生日',
  `user_regtime` datetime NOT NULL COMMENT '注册时间 创建时间',
  `user_modtime` datetime NOT NULL COMMENT '更新时间 更新时间',
  PRIMARY KEY (`user_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户'

2 创建实体类
表明与实体类名称不一致时,用一下注解进行指定
@Table(name = “users”)//指定表名称

package com.joseph.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "users")//指定表名称
public class User { 
   

    private Integer userId;
    private String username;
    private String password;
    private String nickname;
    private String realname;
    private String userImg;
    private String userMobile;
    private String userEmail;
    private String userSex;
    private Date userBirth;
    private Date userRegtime;
    private Date userModtime;

}

3 创建DAO接口,并且继承Mapper、MySqlMapper两个接口,并添加对应操作对象的泛型

package com.joseph.dao;

import com.joseph.entity.User;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;

public interface UserDAO extends Mapper<User>, MySqlMapper<User> { 
   
}

4 测试tkMapper
单元测试
需要添加的依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.13.2</version>
    <scope>test</scope>
</dependency>

TKMapper中提供的常用方法

一个小技巧

  • 新建一个general包,并且创建GeneralDAO接口,让这个接口继承Mapper、MySqlMapper两个接口,并添加对应操作对象的泛型。
  • 同时,不能让TKMapper扫描到这个接口。 在这里插入图片描述
    未完待续
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

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


相关推荐

  • 数字信号处理频谱分析实验_声压频谱分析仪软件

    数字信号处理频谱分析实验_声压频谱分析仪软件从实验室到现场进行测量当今的无线信号环境比以往任何时候都要复杂。面对迅速的创新,新的无线信号标准以及不断增长的频率和带宽要求,研究人员必须找到新的方法来检测RF干扰,分类信号类型,测试传播模型并确保在各种环境中的覆盖范围。他们需要一种经济高效,通用且可联网的替代方案,以替代传统的基于硬件的频谱分析设备。为了在真实条件下进行实验并验证仿真或模型,这些频谱分析解决方案必须能够在实验室和现场中部署,并与通用实验室软件和处理工具集成在一起,以进行更深入的信号分析。应用与要求无线研究人员需要的解决方案是

    2022年8月11日
    11
  • 撸完Spring源码,我为Spring写了个分布式缓存插件,现已开源,快要裂开了!!(建议收藏)

    撸完Spring源码,我为Spring写了个分布式缓存插件,现已开源,快要裂开了!!(建议收藏)经过三个月的时间,我终于撸完了Spring源码,快要裂开了!!随后,开源了这个分布式缓存框架,冰河强烈建议收藏!!!

    2022年8月22日
    9
  • linux局域网传输文件,局域网传输文件详解(转)[通俗易懂]

    linux局域网传输文件,局域网传输文件详解(转)[通俗易懂]局域网传输文件详解(转)相信很多朋友都有过这样的经历,在办公室需要通过局域网传输文件。如果顺利自然不必说了,但有时难免也会遇到“不测”,尤其是直接移动文件,万一失败损失惨重,虽然几率不大但毕竟存在。我们该如何做呢?大家知道,本身的复制功能是不能实现断点续传的,也就是说如果在局域网中复制文件一旦失败,原先复制的文件就要重新复制,这种情况相信大家也曾有过体会,难道在局域网中复制文件还不如在互联网上下…

    2022年5月11日
    57
  • python面向对象编程指南 pdf_python面向对象的三个基本特征

    python面向对象编程指南 pdf_python面向对象的三个基本特征虽然Python是解释性语言,但是它是面向对象的,能够进行对象编程。下面就来了解一下如何在Python中进行对象编程。一.如何定义一个类  在进行python面向对象编程之前,先来了解几个术语:类,类对象,实例对象,属性,函数和方法。  类是对现实世界中一些事物的封装,定义一个类可以采用下面的方式来定义:

    2025年6月24日
    3
  • awvs14安装教程_awvs官网

    awvs14安装教程_awvs官网目录0x00前言0x01AWVS14.5更新内容1、更新2、修复0x02AWVS安装1、解压后双击打开AcunetixPremiumv14.5.211026108.exe2、选一个中意的安装位置和数据存放位置,将它埋下3、建一个自己的AWVS登录账号,不需要真实的账户4、更改AWVS连接端口号,笔者直接默认5、安装AWVS途中安装证书6、成功安装0x03AWVS激活1、管理员权限打开AcunetixPremiumActivationT

    2022年9月22日
    2
  • <context-param>的contextConfigLocation以及DispatcherServlet的contextConfigLocation

    <context-param>的contextConfigLocation以及DispatcherServlet的contextConfigLocationcontextConfigLocation/WEB-INF/classes/applicationContext.xml,/WEB-INF/classes/module/*Context.xmlcontextConfigLocation/WEB-INF/spring/servlet-context.xml,/WEB-INF/classes

    2022年7月16日
    16

发表回复

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

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