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的工作量。同时,这两个工具同时也提高了我们的开发效率和代码质量。

阅读剩余 73%

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

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

相关文章

  • 浅谈java中对集合对象list的几种循环访问

    下面是详细讲解“浅谈java中对集合对象list的几种循环访问”的完整攻略。 一、背景 在Java中,集合是程序开发中经常用到的一种数据结构。而list则是最常用的集合之一。在对list进行操作时,最常见的操作之一便是循环访问其中的元素。Java中有多种循环遍历list的方式,我们来逐一了解。 二、for循环 for循环是最基本的循环方法。代码如下: Lis…

    Java 2023年5月26日
    00
  • spring整合redis以及使用RedisTemplate的方法

    Spring整合Redis以及使用RedisTemplate的方法 什么是Redis? Redis是一个开源的,高级的、基于内存的NoSQL数据库,常用于缓存、队列、分布式锁等应用。它支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等。 Spring整合Redis 1. 环境搭建 首先需要引入Spring Data Redis模块,以及Jedis或L…

    Java 2023年5月19日
    00
  • Mybatis持久层框架入门之CRUD实例代码详解

    “Mybatis持久层框架入门之CRUD实例代码详解”是一篇介绍Mybatis CRUD操作的文章,下面我会详细讲解它的内容和相关知识点。 什么是Mybatis持久层框架 Mybatis是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。Mybatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的工作。Mybatis 可以使…

    Java 2023年5月20日
    00
  • Spring security登录过程逻辑详解

    我将详细讲解“Spring security登录过程逻辑详解”的攻略。具体内容如下: 标题 Spring security登录过程逻辑详解 介绍 Spring Security是基于Spring的安全框架,提供了认证和授权的功能,是保障应用系统安全的重要组成部分。本文将详细介绍Spring Security的登录过程,并结合代码示例进行演示。 正文 Spri…

    Java 2023年5月20日
    00
  • Spring整合Mybatis具体代码实现流程

    下面我将介绍Spring整合Mybatis的具体代码实现流程。 第一步:导入依赖 首先,需要在项目的pom.xml文件中添加Spring和Mybatis相关的依赖。具体的依赖可以根据使用的版本和需求进行选择。 <dependencies> <!–Spring依赖–> <dependency> <groupId&g…

    Java 2023年5月19日
    00
  • Java Spring框架简介与Spring IOC详解

    Java Spring框架简介 Spring是一个轻量级的Java框架,用于构建企业级应用程序。它提供了一系列的模块,包括Spring Core、Spring MVC、Spring Data、Spring Security等,可以帮助开发人员快速构建高质量的应用程序。 Spring框架的主要特点包括: 轻量级:Spring框架本身非常轻量级,不需要依赖其他的…

    Java 2023年5月18日
    00
  • Java toString方法使用超全讲解

    Java toString方法使用超全讲解 什么是toString方法 toString()是Java中的一个非常重要的方法,它的作用是返回对象的字符串表示形式。通常来说,我们在使用Java时,需要在特定的场景下输出对象的字符串形式,例如: 在日志中输出对象的信息 在控制台中输出对象的信息 在界面中展示对象的信息等等 这时,就可以使用对象的toString(…

    Java 2023年5月26日
    00
  • Java JDBC API介绍与实现数据库连接池流程

    Java JDBC API介绍与实现数据库连接池流程 JDBC API介绍 Java Database Connectivity(JDBC)是一个Java API,让Java应用程序与关系型数据库进行交互。JDBC API允许开发人员执行SQL查询和更新以及事务处理。 JDBC API的主要组成部分是: DriverManager类:负责创建数据库连接。 C…

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