mybatis-plus使用generator快速生成代码,并手动添加数据库命令

mybatis-plus是mybatis的增强版,可以根据数据库自动生成代码,实现常用的增删改查功能,也可以按照mybatis的配置方式添加数据库命令。

参考地址:

generator: 文档 http://baomidou.com/

代码生成器配置新 | MyBatis-Plus

1、在pom.xml中添加基础依赖配置(部分是后面自动添加的)

<?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>org.example</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!--    版本配置由springboot处理-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.2</version>
    </parent>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.1</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.0</version>
        </dependency>
    </dependencies>
</project>

2、添加main函数执行文件,并在启动添加自动生成代码

public class TestMyBatisPlus {
    public static void main(String[] args) {
        FastAutoGenerator.create(new DataSourceConfig.Builder("jdbc:mysql://localhost:6666/db1",
                        "root", "密码").dbQuery(new MySqlQuery()))
                .packageConfig(builder -> builder.parent("com.mybatisplus.generator"))
                .execute();
    }
}

3、执行这部分代码后会在D盘根目录下生成parent("com.mybatisplus.generator"))对应文件夹及文件,拷贝到项目中使用

生成后手动添加mybatis命令

1、在interface mapper对象中声明需要的函数

@Mapper
public interface UserMapper extends BaseMapper<Book> {
    List<Book> getAll();
}

2、在application.yaml中添加配置,指定对应sql命令文件

mybatis-plus:
  # 指定全局配置文件
  config-location: classpath:mybatis-config.xml
  # 指定mapper.xml的文件路径
  mapper-locations:
    - classpath*:com.mapper/*.xml

3、实现上面指向的配置文件

        全局配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 别名配置。配置前缀,简化少写子目录 -->
    <typeAliases>
        <package name="com.mapper"/>
    </typeAliases>

    <!-- 可以配置多个服务器连接环境,通过default选择使用环境 -->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <!-- 数据库连接信息 -->
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://127.0.0.1:6666/db1?useSSL=false&amp;useServerPrepStmts=true"/>
                <property name="username" value="root"/>
                <property name="password" value="密码"/>
            </dataSource>
        </environment>
        <environment id="test">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <!-- 数据库连接信息 -->
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://127.0.0.1:6666/db1?useSSL=false&amp;useServerPrepStmts=true"/>
                <property name="username" value="root"/>
                <property name="password" value="密码"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <!-- 加载sql的映射文件 -->
        <!-- <mapper resource="com.data.mapper/UserMapper.xml"/> -->
        
        <!-- Mapper代理可以自动扫描里面的文件 -->
        <package name="com.mapper"/>
    </mappers>
</configuration>

对应mapper接口的xml配置文件(在上面配置的扫描路径com.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.mapper.UserMapper">
    <select id="getAll"  resultType="com.domain.Book">
        select * FROM user
    </select>
</mapper>

controller》service》mapper

controller层是用来接受前台数据和返回页面请求信息的

service层接受controller层信息,用于业务处理和逻辑判断。Service 用于处理业务逻辑,会调用mapper层的API;

mapper层用于和数据库交互,想要访问数据库并且操作,只能通过mapper层向数据库发送sql语句,将这些结果通过接口传给service层,对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的,主要实现一些增删改查操作,在mybatis中方法主要与与xxx.xml内相互一一映射。

entity:数据库与实体类中的字段要一一对应且需要命名一样

domain:表示一个对象模块,字段对应即可,命名可以不一样

dao:需要创建接口还要进行实现,有大量语句冗余,存在很多其它原始开发缺陷

mapper:只需要创建接口,采用自动注入;通过配置mapper.xml来进行映射

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>