最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot集成mybatis-plus全過程

 更新時間:2024年09月21日 09:19:37   作者:zhuang先森  
本文詳細(xì)介紹了如何在SpringBoot環(huán)境下集成MyBatis-Plus,包括配置maven依賴、application.yaml文件、創(chuàng)建數(shù)據(jù)庫和Java實體類、Mapper層、Service層和Controller層的設(shè)置,同時,還涵蓋了時間自動填充、分頁查詢、多對一和一對多的數(shù)據(jù)庫映射關(guān)系設(shè)置

springboot集成mybatis-plus

環(huán)境:

  • jdk 1.8
  • springboot: 2.5.14

一、配置

1、maven依賴

  <dependencies>
 <!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.2</version>
        </dependency>
    </dependencies>
    
     <!-- 數(shù)據(jù)庫驅(qū)動 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        
   <dependencies>
        
    <dependencyManagement>
        <dependencies>
            <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-dependencies -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.5.14</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

        </dependencies>
    </dependencyManagement>

2、配置文件application.yaml

#數(shù)據(jù)源配置
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://1.13.152.218:3306/mp?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
    username: root
    password: zhuang123
    
#數(shù)據(jù)庫名稱
project:
  database: mysql
  
#mybatis-plus配置
mybatis-plus:
  configuration:
    #sql日志打印
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    #開啟駝峰命名匹配
    map-underscore-to-camel-case: true
    #mapper文件
  mapper-locations: classpath:mapper/${project.database}/**/*.xml,classpath:mapper/*.xml
  #數(shù)據(jù)庫實體類的包全路徑,方便在mapper.xml中不許使用實體類的全路徑,寫類名就行(不區(qū)分大小寫)
  type-aliases-package: com.zhuang.mp.entity
  global-config:
    db-config:
      #邏輯刪除
      logic-delete-value: 0
      logic-not-delete-value: 1
      logic-delete-field: deleted

二、創(chuàng)建過程

1.創(chuàng)建數(shù)據(jù)庫與java實體類

新建user表:

java實體類:

package com.zhuang.mp.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Builder;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.Date;


@Data
@Builder
@TableName(value = "user")
public class User {
    @TableId(type = IdType.AUTO)
    private Long id;
    @JsonAlias("user_name")
    private String name;
    @JsonAlias("user_age")
    private Integer age;
    @JsonAlias("user_email")
    private String email = "862627527@qq.com";
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    //后端傳給前端的時間格式
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    //前端傳給后端的時間格式
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonAlias("create_time")
    private Date createTime;
    @JsonAlias("update_time")
    @TableField(value = "update_time" ,fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

}

2.mapper或dao層

UserMapper接口:繼承BaseMapper<T>, T為實體類User,需要加上@Mapper注解,如果不加注解需要在啟動類上加@MapperScan注解

package com.zhuang.mp.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhuang.mp.entity.User;
import com.zhuang.mp.entity.UserVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface UserMapper extends BaseMapper<User> {

    List<User> searchByAges(@Param("ages") List<Long> ages);

    List<UserVo> selectBynames(@Param("names") List<String> names);
}

3.mapper.xml文件

一般放在類路徑下:src/main/resources/mapper/

設(shè)置命名空間 namespace

namespace=“com.zhuang.mp.mapper.UserMapper

<?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.zhuang.mp.mapper.UserMapper">

    <resultMap id="userResultMap" type="User">
        <id property="id" column="id"/>
        <result property="name" column="name"/>
        <result property="age" column="age"/>
        <result property="email" column="email"/>
        <result property="createTime" column="create_time"/>
        <result property="updateTime" column="update_time"/>
    </resultMap>

    <select id="searchByAges" resultType="com.zhuang.mp.entity.User">
        select * from user where age in
        <foreach collection="ages" item="age" open="(" close=")" separator=",">
            #{age}
        </foreach>
    </select>
    <select id="selectBynames" resultType="UserVo">
        select name
        from user where
        <foreach collection="names" item="name" separator="or">
        name like "%"#{name}"%"
        </foreach>

    </select>


</mapper>

4.service層

UserService接口:需要繼承IService<T>, T 為實體類User

package com.zhuang.mp.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhuang.mp.entity.User;
import com.zhuang.mp.entity.UserVo;

import java.util.List;

/**
 * @program: mp
 * @description:
 * @author: mrzhuang
 * @create: 2022-12-15 00:48
 **/

public interface UserService extends IService<User> {

    int addUser(User user);

    int updateUser(User user);

    Page<User> searchPage(Page<User> page);

    List<User> searchByAges(List<Long> ages);

    List<UserVo> selectBynames(List<String> names);
}

UsrServiceIpml實現(xiàn)類:需要繼承ServiceImpl<M extends BaseMapper, T>, M為接口UserMapper, T為實體類User,需要加上@Service注解

package com.zhuang.mp.service.impl;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhuang.mp.entity.User;
import com.zhuang.mp.entity.UserVo;
import com.zhuang.mp.mapper.UserMapper;
import com.zhuang.mp.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;

import javax.annotation.Resource;
import java.util.List;

/**
 * @program: mp
 * @description:
 * @author: mrzhuang
 * @create: 2022-12-15 00:49
 **/
@DS("slave_1")
@Service
@Slf4j
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {

    @Resource
    private UserMapper userMapper;

    @Override
    public int addUser(User user) {
        int insert = userMapper.insert(user);
        return insert;

    }

    @Override
    public int updateUser(@RequestBody User user) {
        int update = userMapper.updateById(user);
        return update;
    }

    @Override
    public Page<User> searchPage(Page<User> page) {
        Page<User> userPage = userMapper.selectPage(page, null);
        return userPage;
    }

    @Override
    public List<User> searchByAges(List<Long> ages) {
        List<User> list = userMapper.searchByAges(ages);
        return list;
    }

    @Override
    public List<UserVo> selectBynames(List<String> names) {
        return userMapper.selectBynames(names);
    }
}

5.controller層

UserController類:

package com.zhuang.mp.controller;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhuang.mp.entity.User;
import com.zhuang.mp.entity.UserVo;
import com.zhuang.mp.enums.CodeEnum;
import com.zhuang.mp.service.UserService;
import com.zhuang.mp.vo.PageVo;
import com.zhuang.mp.vo.ResponseVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

/**
 * @program: mp
 * @description:
 * @author: mrzhuang
 * @create: 2022-12-17 21:40
 **/
@Slf4j
@Api(tags = "用戶接口")
@RestController
@RequestMapping("/user")
public class UserController {

    @Resource
    UserService userService;

    @ApiOperation("用戶增加")
    @RequestMapping("/add")
    public ResponseVo<User> addUser(@RequestBody User user){
        log.info("user: {}", user);
        int insert = userService.addUser(user);
        if (insert > 0){
            log.info("插入成功!");
            return new ResponseVo<>(CodeEnum.SUCESS.code, CodeEnum.SUCESS.message);
        }
        log.error("插入失敗!");
        return new ResponseVo<>(CodeEnum.FAILUIRE.code, CodeEnum.FAILUIRE.message);

    }

    @RequestMapping("/update")
    public ResponseVo<User> updateUser(@RequestBody User user){
        log.info("user: {}", user);
        int update = userService.updateUser(user);
        if (update > 0){
            log.info("更新成功!");
            return new ResponseVo<>(CodeEnum.SUCESS.code, CodeEnum.SUCESS.message);
        }
        log.error("更新失??!");
        return new ResponseVo<>(CodeEnum.FAILUIRE.code, CodeEnum.FAILUIRE.message);

    }

    @PostMapping("/searchPage")
    public ResponseVo<PageVo<User>> searchPage(@RequestBody Page<User> page){
        Page<User> userPage = userService.searchPage(page);
        PageVo<User> userPageVo = new PageVo<>();
        BeanUtils.copyProperties(userPage, userPageVo);
        return new ResponseVo<>(userPageVo);
    }

    @PostMapping("/searchByAges")
    public ResponseVo<List<User>> searchByAges(@RequestBody List<Long> ages){
        List<User> list = userService.searchByAges(ages);
        return new ResponseVo<>(list);

    }

    @PostMapping("/searchByNames")
    public ResponseVo<List<UserVo>> searchByNames(@RequestBody List<String> names){
        List<UserVo> list = userService.selectBynames(names);
        return new ResponseVo<>(list);
    }

}

三、設(shè)置時間自動填充

1.實體類日期類型設(shè)置

需要再實體類的日期屬性上使用@TableField(fill = FieldFill.INSERT)

FiledFill為枚舉類型

public enum FieldFill {
    /**
     * 默認(rèn)不處理
     */
    DEFAULT,
    /**
     * 插入時填充字段
     */
    INSERT,
    /**
     * 更新時填充字段
     */
    UPDATE,
    /**
     * 插入和更新時填充字段
     */
    INSERT_UPDATE
}

實體類:

    @TableField(value = "create_time", fill = FieldFill.INSERT)
    //后端傳給前端的時間格式
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    //前端傳給后端的時間格式
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonAlias("create_time")
    private Date createTime;
    @JsonAlias("update_time")
    @TableField(value = "update_time" ,fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

2.自定義元對象處理器

實現(xiàn) MetaObjectHandler接口

package com.zhuang.mp.handler;

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.time.LocalDateTime;
import java.util.Date;

@Slf4j
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {

    @Override
    public void insertFill(MetaObject metaObject) {
        log.info("start insert fill ....");
        this.strictInsertFill(metaObject, "createTime", Date.class, new Date()); // 起始版本 3.3.0(推薦使用)
        this.strictInsertFill(metaObject, "updateTime", Date.class, new Date()); // 起始版本 3.3.0(推薦使用)
//        // 或者
//        this.strictInsertFill(metaObject, "createTime", () -> LocalDateTime.now(), LocalDateTime.class); // 起始版本 3.3.3(推薦)
//        // 或者
//       this.fillStrategy(metaObject, "createTime", LocalDateTime.now()); // 也可以使用(3.3.0 該方法有bug)
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        log.info("start update fill ....");
        this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); // 起始版本 3.3.0(推薦)
//        // 或者
//        this.strictUpdateFill(metaObject, "updateTime", () -> LocalDateTime.now(), LocalDateTime.class); // 起始版本 3.3.3(推薦)
//        // 或者
//        this.fillStrategy(metaObject, "updateTime", LocalDateTime.now()); // 也可以使用(3.3.0 該方法有bug)
    }
}

四、分頁查詢

1.配置類中創(chuàng)建bean

ackage com.zhuang.mp.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MyBatisPlusConfig {
 
   //分頁查詢
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        //添加分頁插件
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }
}

2.調(diào)用分頁查詢的方法

    @Resource
    private UserMapper userMapper;
    
    Page<User> userPage = userMapper.selectPage(page, null);

五、多對一映射、一對多映射

舉例: 一個老師有多名學(xué)生是一對多關(guān)系,而一個學(xué)生只能有一個老師是多對一關(guān)系

1.數(shù)據(jù)庫表設(shè)計

設(shè)計studen和teacher表, 兩個表中的字段命名需要不一樣,否則在映射過程中會有問題。

1、student表

java實體類:包含老師屬性

package com.zhuang.mp.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import lombok.Data;

import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author mrzhuang
 * @since 2022-12-21
 */
@ApiModel(value = "Student對象", description = "")
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Student implements Serializable {

    private static final long serialVersionUID = 1L;
    
    @TableId(type = IdType.AUTO)
    private Integer sid;

    @TableField(value = "s_name")
    private String studentName;

    private Integer tid;

    @TableField(exist = false)
    private Teacher teacher;

}

2、teacher表:

java實體類:

package com.zhuang.mp.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * 
 * </p>
 *
 * @author mrzhuang
 * @since 2022-12-21
 */
@ApiModel(value = "Teacher對象", description = "教師")
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(value = JsonInclude.Include.NON_NULL)
public class Teacher implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("老師id")
    @TableId(value = "t_id", type = IdType.AUTO)
    private Integer tid;

    @ApiModelProperty("老師姓名")
    @TableField(value = "t_name")
    private String teacherName;

    @ApiModelProperty("學(xué)生集合")
    @TableField(exist = false)
    private List<Student> studentList;

}

2.多對一映射:association

StudentMapper.xml配置

<?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.zhuang.mp.mapper.StudentMapper">

    <resultMap id="stuResultMap" type="Student">
        <id property="sid" column="s_id"/>
        <result property="studentName" column="s_name"/>
        <result property="tid" column="t_id"/>
        <association property="teacher" javaType="teacher">
            <id property="tid" column="t_id"/>
            <result property="teacherName" column="t_name"/>
        </association>
    </resultMap>
    <select id="selectByMap" resultMap="stuResultMap">
        select * from student s left join teacher t on s.t_id = t.t_id

    </select>
</mapper>

StudentMapper類:

package com.zhuang.mp.mapper;

import com.zhuang.mp.entity.Student;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author mrzhuang
 * @since 2022-12-21
 */
public interface StudentMapper extends BaseMapper<Student> {

       /**
     * 查詢所有學(xué)生
     * @return /
     */
    List<Student> selectByMap();
}

StudentController:

package com.zhuang.mp.controller;

import com.zhuang.mp.entity.Student;
import com.zhuang.mp.service.IStudentService;
import com.zhuang.mp.vo.ResponseVo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author mrzhuang
 * @since 2022-12-21
 */
@RestController
@RequestMapping("/mp/student")
public class StudentController {

    @Resource
    IStudentService studentService;

    @GetMapping("/selectByMap")
    public ResponseVo<List<Student>> selsectByMap(){
        /**
         * 查詢所有學(xué)生
         */
        List<Student> students = studentService.selectByMap();
        return new ResponseVo<>(students);
    }

}

結(jié)果:

3.一對多映射:collection

TeacherMapper.xml

<?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.zhuang.mp.mapper.TeacherMapper">

    <resultMap id="techResultMap" type="teacher">
        <id property="tid" column="t_id"/>
        <result property="teacherName" column="t_name"/>
        <collection property="studentList" ofType="student">
            <id property="sid" column="s_id"/>
            <result property="studentName" column="s_name"/>
            <result property="tid" column="t_id"/>
        </collection>
    </resultMap>

    <select id="selectByMap" resultMap="techResultMap">
        select * from teacher t right join student s on s.t_id = t.t_id
    </select>
    
</mapper>

TeacherMapper類:

package com.zhuang.mp.mapper;

import com.zhuang.mp.entity.Teacher;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author mrzhuang
 * @since 2022-12-21
 */
public interface TeacherMapper extends BaseMapper<Teacher> {

    /**
     * 查詢?nèi)坷蠋?
     * @return
     */
    List<Teacher> selectByMap();
}

TeacherController:

package com.zhuang.mp.controller;

import com.zhuang.mp.entity.Teacher;
import com.zhuang.mp.service.ITeacherService;
import com.zhuang.mp.vo.ResponseVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.List;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author mrzhuang
 * @since 2022-12-21
 */
@Api(tags = "教師接口")
@RestController
@RequestMapping("/mp/teacher")
public class TeacherController {
    @Resource
    ITeacherService teacherService;

    @ApiOperation("獲得全部的老師")
    @GetMapping("searchAll")
    public ResponseVo<List<Teacher>> searchAll(){
        List<Teacher> teachers = teacherService.searchAll();
        return new ResponseVo<>(teachers);
    }

    @ApiOperation("一對一多映射")
    @GetMapping("/selectByMap")
    public ResponseVo<List<Teacher>> selectByMap(){
        List<Teacher> teachers = teacherService.selectByMap();
        return new ResponseVo<>(teachers);
    }

}

結(jié)果:

六、代碼生成器

1.maven依賴

        <!--逆向代碼生成模版-->
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.28</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>

2.代碼編寫

package com.zhuang.generator;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

import java.util.Collections;

/**
 * @program: mp
 * @description: 逆向代碼生成器
 * @author: mrzhuang
 * @create: 2022-12-17 20:56
 **/
public class CodeGenerator {

    public static void main(String[] args) {
        String url = "jdbc:mysql://1.13.152.218:3306/mp?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai";
        String username = "root";
        String password = "zhuang123";
        String author = "mrzhuang";
        String outputDir = "/Users/mrzhuang/Downloads/mp/generator";
        String parent = "com.zhuang";
        String moduleName = "mp";
        String xmlPath = "/Users/mrzhuang/Downloads/mp/generator";
        //String tablename = "user";
        FastAutoGenerator.create(url, username, password)
                .globalConfig(builder -> {
                    builder.author(author) // 設(shè)置作者
                            .enableSwagger() // 開啟 swagger 模式
                            .fileOverride() // 覆蓋已生成文件
                            .outputDir(outputDir); // 指定輸出目錄
                })
                .packageConfig(builder -> {
                    builder.parent(parent) // 設(shè)置父包名
                            .moduleName(moduleName) // 設(shè)置父包模塊名
                            .pathInfo(Collections.singletonMap(OutputFile.xml, xmlPath)); // 設(shè)置mapperXml生成路徑
                })
                .strategyConfig(builder -> {
                    builder.addInclude("teacher").addInclude("student"); // 設(shè)置需要生成的表名
    //                        .addTablePrefix("t_", "c_"); // 設(shè)置過濾表前綴
                })
                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默認(rèn)的是Velocity引擎模板
                .execute();
    }
}

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Springboot錯誤頁面和錯誤信息定制操作

    Springboot錯誤頁面和錯誤信息定制操作

    這篇文章主要介紹了Springboot錯誤頁面和錯誤信息定制操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Maven的生命周期與自定義插件實現(xiàn)方法

    Maven的生命周期與自定義插件實現(xiàn)方法

    Maven的生命周期就是對所有的構(gòu)建過程進(jìn)行抽象和統(tǒng)一。包含了項目的清理、初始化、編譯、測試、打包、集成測試、驗證、部署和站點生成等幾乎所有的構(gòu)建步驟
    2022-12-12
  • Java Supplier和Consumer接口使用解讀

    Java Supplier和Consumer接口使用解讀

    這篇文章介紹了Java中的Supplier和Consumer接口,它們都是函數(shù)式接口,可以用于Lambda表達(dá)式,Supplier接口用于延遲計算或生成值,而Consumer接口用于接受單一輸入?yún)?shù)并且不返回任何結(jié)果的操作
    2026-01-01
  • Java中實現(xiàn)時間偏移(Time?Offset)處理過程

    Java中實現(xiàn)時間偏移(Time?Offset)處理過程

    本文介紹Java中時間偏移處理,利用java.time包中的ZonedDateTime、ZoneOffset等類,支持跨時區(qū)轉(zhuǎn)換、日志統(tǒng)一標(biāo)準(zhǔn),并給出最佳實踐中注意事項與應(yīng)用場景示例
    2025-09-09
  • 詳解SpringBoot基礎(chǔ)之banner玩法解析

    詳解SpringBoot基礎(chǔ)之banner玩法解析

    SpringBoot項目啟動時會在控制臺打印一個默認(rèn)的啟動圖案,這個圖案就是我們要講的banner,這篇文章主要介紹了SpringBoot基礎(chǔ)之banner玩法解析,感興趣的小伙伴們可以參考一下
    2019-04-04
  • springBoot啟動時讓方法自動執(zhí)行的幾種實現(xiàn)方式

    springBoot啟動時讓方法自動執(zhí)行的幾種實現(xiàn)方式

    這篇文章主要介紹了springBoot啟動時讓方法自動執(zhí)行的幾種實現(xiàn)方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Spring?Boot?Reactor?整合?Resilience4j詳析

    Spring?Boot?Reactor?整合?Resilience4j詳析

    這篇文章主要介紹了Spring?Boot?Reactor整合Resilience4j詳析,文章通過引入pom包展開詳細(xì)介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下
    2022-09-09
  • Java 定時器(Timer,TimerTask)詳解及實例代碼

    Java 定時器(Timer,TimerTask)詳解及實例代碼

    這篇文章主要介紹了 Java 定時器(Timer,TimerTask)詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • App登陸java后臺處理和用戶權(quán)限驗證

    App登陸java后臺處理和用戶權(quán)限驗證

    這篇文章主要為大家詳細(xì)介紹了App登陸java后臺處理和用戶權(quán)限驗證,感興趣的朋友可以參考一下
    2016-06-06
  • 淺談hibernate中對象的3種狀態(tài)_瞬時態(tài)、持久態(tài)、脫管態(tài)

    淺談hibernate中對象的3種狀態(tài)_瞬時態(tài)、持久態(tài)、脫管態(tài)

    下面小編就為大家?guī)硪黄獪\談hibernate中對象的3種狀態(tài)_瞬時態(tài)、持久態(tài)、脫管態(tài)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08

最新評論

宿州市| 纳雍县| 南郑县| 江西省| 尖扎县| 绵竹市| 铜鼓县| 马公市| 临海市| 神农架林区| 上虞市| 兴安盟| 和平县| 深圳市| 金堂县| 沧州市| 门头沟区| 庄河市| 瑞金市| 桑日县| 饶河县| 永丰县| 遂溪县| 进贤县| 寿宁县| 额尔古纳市| 文昌市| 监利县| 故城县| 华阴市| 中西区| 吴堡县| 虞城县| 瓦房店市| 嘉义市| 望奎县| 加查县| 合肥市| 横山县| 石楼县| 东安县|