Springboot通用mapper和mybatis-generator代码示例

下面是关于“Springboot通用mapper和mybatis-generator代码示例”的完整攻略:

一、什么是Springboot通用mapper和mybatis-generator

1. Springboot通用mapper

Springboot通用mapper是一款能够提高数据访问的工具,主要用于深度整合Mybatis和Spring Data JPA两个持久层框架,帮助实现DAO层的消融。

通俗来讲,Springboot通用mapper是一款简化Mybatis操作的插件,能够自动生成Mapper的CRUD代码,从而减少我们手写Mapper的工作量。同时,它兼容Mybatis和JPA两种ORM框架。

2. Mybatis-generator

Mybatis-generator是一款自动化生成Mybatis代码的工具,能够自动生成包括Mapper、Model、XML等文件,大大提高了开发效率和代码质量。

二、如何使用Springboot通用mapper和mybatis-generator

在使用Springboot通用mapper和mybatis-generator之前,我们需要先按照以下步骤进行配置。

1. 引入依赖

在项目的pom.xml文件中引入如下依赖:

<!--Springboot通用mapper-->
<dependency>
    <groupId>tk.mybatis</groupId>
    <artifactId>mapper-spring-boot-starter</artifactId>
    <version>2.1.5</version>
</dependency>

<!-- Mybatis-generator-->
<dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version>1.3.7</version>
</dependency>

2. 配置属性

application.properties文件中配置如下属性:

# Springboot通用mapper
mapper.mappers=tk.mybatis.mapper.common.Mapper
mapper.not-empty=false
mapper.identity=MYSQL

# Mybatis-generator
mybatis.generator.configuration=mybatis-generator.xml

3. 配置生成器

在项目中创建mybatis-generator.xml文件,配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>
    <context id="MySql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        <!--数据库连接信息-->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=utf-8"
                        userId="root"
                        password="root">
        </jdbcConnection>

        <!--Java Model生成目录-->
        <javaModelGenerator targetPackage="com.example.demo.model" targetProject="src/main/java">
            <!-- 是否清除已有的生成目录,默认为false -->
            <property name="enableSubPackages" value="true"/>
            <!-- 是否针对string类型的字段,在set/get方法中进行trim()操作,默认为false -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!--Mapper.xml生成目录-->
        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
        </sqlMapGenerator>

        <!--Mapper接口生成目录-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.demo.mapper" targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <!--表定义,#{}表示参数替换,${}表示表名替换-->
        <table catalog="test" schema="test" tableName="t_user" domainObjectName="User" enableCountByExample="false"
               enableDeleteByExample="false"
               enableSelectByExample="false" enableUpdateByExample="false">
        </table>

    </context>
</generatorConfiguration>

其中,com.example.demo为项目所在包名,t_user为数据库表名,UserJava模型类名。

4. 编写代码

现在,我们可以开始使用Springboot通用mapper和mybatis-generator自动生成Mapper的CRUD代码了。

示例1:使用Springboot通用mapper实现数据查询

创建Mapper文件:

import com.example.demo.model.User;
import org.apache.ibatis.annotations.Select;
import tk.mybatis.mapper.common.Mapper;

public interface UserMapper extends Mapper<User> {
    @Select("SELECT * FROM t_user WHERE username = #{username} AND password = #{password}")
    User findByUsernameAndPassword(String username, String password);
}

引入Mapper并调用:

import com.example.demo.mapper.UserMapper;
import com.example.demo.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;

    public User findByUsernameAndPassword(String username, String password) {
        return userMapper.findByUsernameAndPassword(username, password);
    }
}

示例2:使用mybatis-generator自动生成Mapper的CRUD代码

通过运行Mybatis-generator自动生成Mapper的CRUD代码:

import com.example.demo.mapper.UserMapper;
import com.example.demo.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;

    public void save(User user) {
        userMapper.insert(user);
    }

    public User findById(Long id) {
        return userMapper.selectByPrimaryKey(id);
    }

    public void update(User user) {
        userMapper.updateByPrimaryKey(user);
    }

    public void delete(Long id) {
        userMapper.deleteByPrimaryKey(id);
    }
}

三、总结

以上就是关于“Springboot通用mapper和mybatis-generator代码示例”的完整攻略,我们可以通过它们自动生成Mapper的CRUD代码,从而减少我们手写Mapper的工作量。同时,这两个工具同时也提高了我们的开发效率和代码质量。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Springboot通用mapper和mybatis-generator代码示例 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 一文详解如何通过Java实现SSL交互功能

    一文详解如何通过Java实现SSL交互功能 概述 本文将详细介绍如何使用Java实现SSL交互功能。SSL(Secure Sockets Layer)是一种协议,用于在两个计算机之间提供安全的通信。使用SSL可以确保数据在传输过程中的保密性和完整性,防止数据被篡改或窃取。本文将分别讲解SSL的基本概念、Java如何使用SSL协议进行通信以及如何在Java中自…

    Java 2023年5月20日
    00
  • 纯注解版spring与mybatis的整合过程

    下面我将详细讲解”纯注解版Spring与Mybatis的整合过程”的完整攻略。 准备工作 首先,需要配置好Maven环境,以便引入所需的依赖。 其次,需要根据需要,配置好数据库环境。 整合Spring和Mybatis 第一步:引入Spring和Mybatis的依赖 <dependencies> <!– 引入Spring的依赖 –>…

    Java 2023年6月1日
    00
  • SpringMVC框架实现图片上传与下载

    下面是关于“SpringMVC框架实现图片上传与下载”的完整攻略,包含两个示例说明。 SpringMVC框架实现图片上传与下载 SpringMVC是一个流行的Java Web框架,它可以帮助我们更加方便地构建Web应用程序。本文将介绍如何使用SpringMVC框架实现图片上传与下载。 步骤一:创建SpringMVC项目 首先,我们需要创建一个SpringMV…

    Java 2023年5月17日
    00
  • Java数据结构之集合框架与常用算法详解

    Java数据结构之集合框架与常用算法详解 引言 Java数据结构是将数据元素以某种逻辑关系组织在一起的数据整体,而集合框架是java.util包下的一组接口和类,用于存储和操作一组相同类型的数据。 在本文中,我们将全面了解Java集合框架,包括常用的集合接口、集合实现类和常见的集合算法。同时,我们还将介绍在Java中如何使用集合框架。 集合框架概述 Java…

    Java 2023年5月19日
    00
  • java实现简单的推箱子小游戏

    Java实现推箱子小游戏攻略 推箱子小游戏是一种经典的益智游戏,其游戏规则和玩法简单易懂,适合日常休闲娱乐。在本文中,我们将介绍如何使用Java编写一个简单的推箱子小游戏,并提供完整的攻略过程。 1. 游戏规则 推箱子小游戏中,玩家需要控制一个小人将箱子推到指定位置。在游戏过程中,箱子必须先由小人移动到目标位置,再推动箱子到该位置。箱子只能向前推,不能拖着走…

    Java 2023年5月19日
    00
  • 利用Jacob将Excel转换PDF的问题汇总

    让我详细讲解一下如何利用Jacob将Excel转换为PDF。 问题背景 Jacob是一个能够在Java程序中使用微软ActiveX组件的桥接器,通过Jacob,我们可以在Java中调用Excel或其他微软Office软件的功能。本篇攻略将介绍如何使用Jacob将Excel转换为PDF。 步骤说明 1. 导入Jacob库 我们首先需要导入Jacob库,Jaco…

    Java 2023年6月15日
    00
  • springMVC+jersey实现跨服务器文件上传

    下面为您详细讲解如何使用SpringMVC和Jersey实现跨服务器文件上传的完整攻略。 1. 环境准备 要使用SpringMVC和Jersey实现跨服务器文件上传需要先进行环境准备,包括以下两个方面: 1.1. 服务器环境 首先搭建需要搭建两个服务器,一个是文件上传的服务器,另一个是文件存储的服务器。其中文件上传服务器需要安装Tomcat和Jersey,文…

    Java 2023年6月15日
    00
  • 基于SpringMVC实现网页登录拦截

    基于SpringMVC实现网页登录拦截 本文将详细讲解如何使用SpringMVC实现网页登录拦截,并提供两个示例说明。 环境准备 在开始实现网页登录拦截之前,我们需要准备以下环境: JDK 18或以上版本 Maven 3.6.3或以上版本 Tomcat 9.0或以上版本 实现步骤 下面是实现网页登录拦截的详细步骤: 步骤一:创建Maven项目 首先,我们需要…

    Java 2023年5月17日
    00
合作推广
合作推广
分享本页
返回顶部