SpringBoot——MyBatisPlus

SpringBoot——MyBatisPlusSpringBoot——MyBatisPlus

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

1.引如MyBatisPlus依赖

下面是整个pom文件

 <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>world-address-dao</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>world-address-dao</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <artifactId>world</artifactId>
        <groupId>com.youyou</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>


        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <!--MybatisPlus依赖-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.0.1</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

2.定义个实体类

这里需要配置一个@TableName

 package com.youyou.address.entity;


import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

/**
 * 数据库实体,联系人
 */
@Data
@TableName("ts_contacter")
public class ContacterEO {
    /**
     * 主键
     */
    private String id;
    /**
     * 姓名
     */
    private String name;

    /**
     * 性别(0,女;1,男)
     */
    private String sex;

    /**
     * 年龄
     */
    private Integer age ;

    /**
     * 电话
     */
    private  String phone;

    /**
     * 地址
     */
    private String location;

    /**
     * 删除(0,未删除;1,删除)
     */
    private String dflag ;
}

3.创建dao

这里需要继承BaseMapper<>接口,

继承BaseMapper接口之后,会继承一些CRUD方法,我们就可以直接调用了。

 package com.youyou.address.dao;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.youyou.address.entity.ContacterEO;

import java.util.List;

public interface ContacterDao extends BaseMapper<ContacterEO> {

}

4.创建service

 package com.youyou.address.service;

import com.youyou.address.dao.ContacterDao;
import com.youyou.address.entity.ContacterEO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Service
@Transactional
public class ContacterService {

    @Autowired
    private ContacterDao dao;

    /**
     * 保存联系人
     *
     * @param contacterEO
     */
    public void saveOne(ContacterEO contacterEO) {
        dao.insert(contacterEO);
    }


}

5.创建controller

 package com.youyou.address.controller;

import com.youyou.address.entity.ContacterEO;
import com.youyou.address.service.ContacterService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@Api(description = "联系人接口")
@RestController
@RequestMapping(value = "/contacter")
public class ContacterController {

    @Autowired
    private ContacterService service;

    @ApiOperation(value = "新增")
    @GetMapping("/add")
    public ContacterEO add(ContacterEO contacterEO) {
        System.out.println("添加一个联系人");

        service.saveOne(contacterEO);

        return contacterEO;
    }

   

}

这样我们就已经配置完成了,无需配置Mapper的XML文件就能使用CRUD方法了。

接下来介绍一下自定义方法的配置。

6.配置application.properties文件

 #设置mapper文件的位置
mybatis-plus.mapper-locations: classpath*:mapper/*.xml

7.创建Mapper文件,文件放到mapper文件夹下。

 <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.youyou.address.dao.ContacterDao" >

    <select id="findAll" resultType="com.youyou.address.entity.ContacterEO">
        select * from ts_contacter
    </select>

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

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

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


相关推荐

  • 漏洞扫描 渗透测试_什么是渗透

    漏洞扫描 渗透测试_什么是渗透渗透测试阶段信息收集完成后,需根据所收集的信息,扫描目标站点可能存在的漏洞,包括SQL注入漏洞、跨站脚本漏洞、文件上传漏洞、文件包含漏洞及命令执行漏洞等,然后通过这些已知的漏洞,寻找目标站点存在攻击的入口。那么今天我们就介绍几款常用的WEB应用漏洞扫描工具。一、AWVSAcunetixWebVulnerabilityScanner(简称AWVS)是一款知名的网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞。在漏洞扫描实战过程中,一般会首选AWVS,因为这个能扫描出来的漏洞很多,而

    2022年9月12日
    0
  • 使用phpexcel导出到xls文件的时候出现乱码解决

    使用phpexcel导出到xls文件的时候出现乱码解决

    2021年10月31日
    32
  • ucinet网络分析使用总结

    ucinet网络分析使用总结ucinet介绍UCINET为菜单驱动的Windows程序,可能是最知名和最经常被使用的处理社会网络数据和其他相似性数据的综合性分析程序。与UCINET捆绑在一起的还有Pajek、Mage和NetDraw等三个软件。UCINET能够处理的原始数据为矩阵格式,提供了大量数据管理和转化工具。该程序本身不包含网络可视化的图形程序,但可将数据和处理结果输出至NetDraw、Pajek、Mage和Kr…

    2022年6月7日
    97
  • VS Code折腾记 – (2) 快捷键大全,没有更全

    VS Code折腾记 – (2) 快捷键大全,没有更全前言VSCode的快捷键继承了一些IDE风格,有VS的身影,也有Emacs的身影。。简言之,内置快捷键玩熟了,效率提高不是一点两点。VsCode快捷键有五种组合方式(科普)Ctrl+Shift+?:这种常规组合按钮Ctrl+VCtrl+V:同时依赖一个按键的组合Shift+Vc:先组合后单键的输入Ctrl+Click:键盘+鼠标点击Ctrl+

    2022年6月16日
    33
  • linux 心脏滴血漏洞,漏洞bash近日“破壳”,当心再次“心脏出血”

    linux 心脏滴血漏洞,漏洞bash近日“破壳”,当心再次“心脏出血”2014年9月24日,外媒曝出一个广泛存在于主流操作系统的漏洞bash,该漏洞会影响到Redhat、CentOS、Ubuntu、Debian、Fedora、AmazonLinux、OSX10.10等平台,预计影响范围和纵深程度都可能匹敌或者超过今年4月发现的“心脏流血”(Heartbleed)漏洞。9月25日,经过与兄弟厂商的讨论,最终决定将此此漏洞中文名命名为“破壳,并于25日一早将此…

    2022年7月16日
    17
  • SSL协议分析「建议收藏」

    SSL协议分析「建议收藏」SecureSocketsLayerSSL协议概述SSL解决的问题(功能)协议的使用SSL在协议栈的位置SSL协议的分层模型SSL体系结构SSL的两个重要概念主要工作流程SSL握手协议的握手过程SSL记录层的功能SSL协议脆弱性分析SSL协议概述SecureSocketsLayer安全套接字协议SSL协议可用于保护正常运行于TCP之上的任何应用协议,如HTTP、FTP、SMTP或Telnet的通信,最常见的是用SSL来保护HTTP的通信。SSL协议的优点在于它是与应用层协议无关的。

    2022年6月2日
    65

发表回复

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

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