news 2026/5/28 0:52:01

MybatisPlus配置文件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MybatisPlus配置文件


在SpringBoot集成MyBatis环境中,使用mybatis-plus-boot-starter完成自动配置,不再使用mybatis-config.xml。
在SpringBoot环境中不使用mybatis-plus-boot-starter情况下,可以使用mybatis-config.xml配置文件配置MyBatis。

db.properties

jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai jdbc.username=root jdbc.password=root

mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><propertiesresource="db.properties"></properties><settings><!-- 打印查询语句 --><settingname="logImpl"value="STDOUT_LOGGING"/><!-- 控制全局缓存(二级缓存)--><settingname="cacheEnabled"value="true"/><!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false --><settingname="lazyLoadingEnabled"value="true"/><!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖--><settingname="aggressiveLazyLoading"value="false"/><!-- Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST --><!--<setting name="proxyFactory" value="CGLIB" />--><!-- STATEMENT级别的缓存,使一级缓存,只针对当前执行的这一statement有效 --><!-- <setting name="localCacheScope" value="STATEMENT"/> --><settingname="localCacheScope"value="SESSION"/></settings><typeAliases><typeAliasalias="user"type="com.hk.eshop.entity.UserInfo"/></typeAliases><!-- <typeHandlers> <typeHandler handler="com.hk.eshop.config.MyTypeHandler"></typeHandler> </typeHandlers> --><!-- 对象工厂 --><!-- <objectFactory type="com.hk.eshop.config.MyObjectFactory"> </objectFactory> --><!-- <plugins> <plugin interceptor="com.hk.eshop.config.SQLInterceptor"> </plugin> <plugin interceptor="com.hk.eshop.config.MyPageInterceptor"> </plugin> </plugins> --><environmentsdefault="development"><environmentid="development"><transactionManagertype="JDBC"/><dataSourcetype="POOLED"><propertyname="driver"value="${jdbc.driver}"/><propertyname="url"value="${jdbc.url}"/><propertyname="username"value="${jdbc.username}"/><propertyname="password"value="${jdbc.password}"/></dataSource></environment></environments><mappers><mapperresource="classpath:com/hk/eshop/mapper/xml/UserMapper.xml"/></mappers></configuration>

mybatis-plus-boot-starter自动配置









MyBatisCache.java

packagecom.hk.eshop.config;importorg.apache.ibatis.cache.Cache;importjava.util.HashMap;importjava.util.Map;publicclassMyBatisCacheimplementsCache{privatestaticMapcache=newHashMap();privateStringid=null;publicMyBatisCache(Stringid){this.id=id;System.out.println("====================="+id);}@OverridepublicStringgetId(){returnid;}@OverridepublicvoidputObject(Objecto,Objecto1){cache.put(o,o1);System.out.println("putObject====================="+o);System.out.println("putObject====================="+o1);}@OverridepublicObjectgetObject(Objecto){System.out.println("getObject====================="+o);returncache.get(0);}@OverridepublicObjectremoveObject(Objecto){returncache.remove(o);}@Overridepublicvoidclear(){cache.clear();}@OverridepublicintgetSize(){returncache.size();}}

UserMapper.java

packagecom.hk.eshop.mapper;importcom.baomidou.mybatisplus.core.mapper.BaseMapper;importcom.hk.eshop.config.MyBatisCache;importcom.hk.eshop.entity.UserInfo;importorg.apache.ibatis.annotations.CacheNamespace;importorg.apache.ibatis.annotations.Mapper;importjava.util.List;@Mapper@CacheNamespace(implementation=MyBatisCache.class)publicinterfaceUserMapperextendsBaseMapper<UserInfo>{List<UserInfo>findAll();}

UserCtrl.java

packagecom.hk.eshop.ctrl;importcom.hk.eshop.entity.UserInfo;importcom.hk.eshop.service.IUserService;importlombok.extern.slf4j.Slf4j;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;importjavax.servlet.http.HttpServletRequest;importjava.util.HashMap;importjava.util.List;importjava.util.Map;@RestController@RequestMapping("/user")// /user/list@Slf4jpublicclassUserCtrl{@AutowiredprivateIUserServiceuserServ;@GetMapping(value="/list")publicMaplist(UserInfouser,HttpServletRequestreq){userServ.getById("2");System.out.println("load user from cache....");userServ.getById("2");List<UserInfo>list=userServ.findAll();Mapmap=newHashMap();map.put("user",list);returnmap;}}


在生产环境可以配置成功,单元测试环境未配置成功。




MyBatis对数据字段加密脱敏有多种方式,本例使用注解对数据脱敏必须使用其他MyBatis-Starter,

<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-mate-starter</artifactId><version>1.0.8</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-mate-annotation</artifactId><version>1.0.8</version></dependency>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/7 16:31:42

ShadowPrompt漏洞:Claude Chrome扩展遭零点击提示注入攻击

网络安全研究人员披露了Anthropic公司Claude Chrome浏览器扩展中的一个严重漏洞。攻击者仅需诱使用户访问特定恶意网页&#xff0c;即可零点击触发恶意提示注入&#xff0c;完全控制用户的AI助手。Koi Security研究员Oren Yomtov在报告中指出&#xff1a;“该漏洞允许任何网站静…

作者头像 李华
网站建设 2026/4/4 8:15:51

OpenCV实战:3种图像降噪滤波器的Python代码对比(附效果图)

OpenCV实战&#xff1a;3种图像降噪滤波器的Python代码对比&#xff08;附效果图&#xff09; 在数字图像处理中&#xff0c;噪声是影响图像质量的主要因素之一。无论是来自传感器的不完美&#xff0c;还是传输过程中的干扰&#xff0c;噪声都会降低图像的清晰度和可用性。对于…

作者头像 李华
网站建设 2026/4/7 16:35:27

如何将微信聊天记忆转化为数字珍藏:WeChatMsg的数据主权革命

如何将微信聊天记忆转化为数字珍藏&#xff1a;WeChatMsg的数据主权革命 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we…

作者头像 李华