日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

若依-Vue 单体版本 更换mybatisPlus

發(fā)布時間:2025/3/8 编程问答 46 如意码农
生活随笔 收集整理的這篇文章主要介紹了 若依-Vue 单体版本 更换mybatisPlus 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、單體模塊在pom.xml ; 多模塊版本在ruoyi-common\pom.xml、模塊添加整合依賴

<!-- mybatis-plus 增強CRUD -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>

2、單模塊在修改主題的application.yml ; 多模塊在ruoyi-admin文件application.yml,修改mybatis配置為mybatis-plus

# MyBatis Plus配置
mybatis-plus:
type-aliases-package: net.nachuan.doukuai.project.**.domain
mapper-locations: classpath*:mybatis/**/*Mapper.xml
config-location: classpath:mybatis/mybatis-config.xml

3、添加Mybatis Plus配置MybatisPlusConfig.javaPS:原來的MyBatisConfig.java需要刪除掉

package net.nachuan.doukuai.framework.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement; /**
* Mybatis Plus 配置
*
* @author LiuShuKu
*/
@EnableTransactionManagement(proxyTargetClass = true)
@Configuration
public class MybatisPlusConfig
{
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor()
{
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 分頁插件
interceptor.addInnerInterceptor(paginationInnerInterceptor());
// 樂觀鎖插件
interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
// 阻斷插件
interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
return interceptor;
} /**
* 分頁插件,自動識別數(shù)據(jù)庫類型 https://baomidou.com/guide/interceptor-pagination.html
*/
public PaginationInnerInterceptor paginationInnerInterceptor()
{
PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
// 設(shè)置數(shù)據(jù)庫類型為mysql
paginationInnerInterceptor.setDbType(DbType.MYSQL);
// 設(shè)置最大單頁限制數(shù)量,默認 500 條,-1 不受限制
paginationInnerInterceptor.setMaxLimit(-1L);
return paginationInnerInterceptor;
} /**
* 樂觀鎖插件 https://baomidou.com/guide/interceptor-optimistic-locker.html
*/
public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor()
{
return new OptimisticLockerInnerInterceptor();
} /**
* 如果是對全表的刪除或更新操作,就會終止該操作 https://baomidou.com/guide/interceptor-block-attack.html
*/
public BlockAttackInnerInterceptor blockAttackInnerInterceptor()
{
return new BlockAttackInnerInterceptor();
}
}

代碼生成模版

Mapper 層

package ${packageName}.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import ${packageName}.domain.${ClassName};
#if($table.sub)
import ${packageName}.domain.${subClassName};
#end /**
* ${functionName}Mapper接口
*
* @author LiuShuKu
* @date ${datetime}
*/
@Mapper
public interface ${ClassName}Mapper extends BaseMapper<${ClassName}> {
}

Service層

package ${packageName}.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import ${packageName}.domain.${ClassName}; /**
* ${functionName}Service接口
*
* @author LiuShuKu
* @date ${datetime}
*/
public interface I${ClassName}Service extends IService<${ClassName}> { /**
* 查詢${functionName}列表
*
* @param ${className} ${functionName}
* @return ${functionName}集合
*/
Page<${ClassName}> select${ClassName}List(${ClassName} ${className});
}

Impl層

package ${packageName}.service.impl;

import java.util.Date;
import java.util.List;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
#if($table.sub)
import java.util.ArrayList; import net.nachuan.doukuai.common.utils.StringUtils;
import org.springframework.transaction.annotation.Transactional;
import ${packageName}.domain.${subClassName};
#end
import ${packageName}.mapper.${ClassName}Mapper;
import ${packageName}.domain.${ClassName};
import ${packageName}.service.I${ClassName}Service; /**
* ${functionName}Service業(yè)務(wù)層處理
*
* @author LiuShuKu
* @date ${datetime}
*/
@Service
public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${ClassName}> implements I${ClassName}Service { /**
* 查詢${functionName}列表
*
*
* @param ${className} ${functionName}
* @return ${functionName}
*/
@Override
public Page<${ClassName}> select${ClassName}List(${ClassName} ${className}) {
// 創(chuàng)建分頁對象
Page<${ClassName}> page = new Page<${ClassName}>(${className}.getPageNumber(), ${className}.getPageSize());
// 查詢條件
LambdaQueryWrapper<${ClassName}> wrapper = Wrappers.lambdaQuery(${ClassName}. class);
// 查詢條件
{
// 添加時間查詢
Date[] timeParam = ${className}.getTimeParam();
if (null != timeParam) {
wrapper.between(${ClassName}::getCreateTime, timeParam[0], timeParam[1]);
}
#foreach ($column in $columns)
#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
#set($AttrName=$column.javaField)
#else
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#end
#if("Deleted" != ${AttrName} && "CreateTime" != ${AttrName}&& "UpdateTime" != ${AttrName})
wrapper.eq(ObjectUtil.isNotEmpty( ${className}.get${AttrName}()),${ClassName}::get${AttrName}, ${className}.get${AttrName}());
#end
#end
}
return baseMapper.selectPage(page, wrapper);
} }

domain層

package ${packageName}.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
#foreach ($import in $importList)
import ${import};
#end
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import net.nachuan.doukuai.framework.aspectj.lang.annotation.Excel;
#if($table.crud || $table.sub)
import com.baomidou.mybatisplus.annotation.TableField;
import net.nachuan.doukuai.common.core.domain.BaseEntity;
#elseif($table.tree)
import net.nachuan.doukuai.common.core.domain.TreeEntity;
#end /**
* ${functionName}對象 ${tableName}
*
* @author LiuShuKu
* @date ${datetime}
*/
#if($table.crud || $table.sub)
#set($Entity="BaseEntity")
#elseif($table.tree)
#set($Entity="TreeEntity")
#end
@Builder
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "${tableName}")
public class ${ClassName} extends ${Entity} {
private static final long serialVersionUID=1L;
#foreach ($column in $columns)
#if(!$table.isSuperColumn($column.javaField))
/** $column.columnComment */
#if($column.list)
#set($parentheseIndex=$column.columnComment.indexOf("("))
#if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
#else
#set($comment=$column.columnComment)
#end
#if($parentheseIndex != -1)
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
#elseif($column.javaType == 'Date')
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd")
#else
@Excel(name = "${comment}")
#end
#end
#if($column.javaField == "id")
@TableId(type = IdType.AUTO)
#end
private $column.javaType $column.javaField;
#end
#end #if($table.sub)
/** $table.subTable.functionName信息 */
@TableField(exist = false)
private List<${subClassName}> ${subclassName}List;
#end
}

Controller 層

package ${packageName}.controller;

import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import net.nachuan.doukuai.framework.aspectj.lang.annotation.Log;
import net.nachuan.doukuai.framework.aspectj.lang.enums.BusinessType;
import ${packageName}.domain.${ClassName};
import ${packageName}.service.I${ClassName}Service;
import net.nachuan.doukuai.framework.web.controller.BaseController;
import net.nachuan.doukuai.framework.web.domain.AjaxResult;
import net.nachuan.doukuai.common.utils.poi.ExcelUtil;
#if($table.crud || $table.sub)
import net.nachuan.doukuai.framework.web.page.TableDataInfo;
#elseif($table.tree)
#end /**
* ${functionName}Controller
*
* @author ${author}
* @date ${datetime}
*/
@RestController
@RequestMapping("/${moduleName}/${businessName}")
public class ${ClassName}Controller extends BaseController
{
@Autowired
private I${ClassName}Service ${className}Service; }

總結(jié)

以上是生活随笔為你收集整理的若依-Vue 单体版本 更换mybatisPlus的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。