TKMybatis和Mybatis Plus 哪个用起来更好?

香草天空Sky 2019-08-27 10:46:59
TKMybatis和Mybatis Plus 哪个用起来更好? 各自的优缺点是什么?
...全文
7147 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ashur619 2022-02-24
  • 打赏
  • 举报
回复

个人还是倾向于使用tk-mybatis,单表的CRUD都差不多,但是复杂sql肯定是去写xml文件,这样好输出sql测试,如果把sql转译到代码,太费时间了,还有就是selectList这种接口,用tk的可以直接Bean.builder.x().build()这样写入参,但是mybatis-plus就太费事了,还得写QueryWrapper,太麻烦

jie咖啡 2021-07-19
  • 打赏
  • 举报
回复 2

mybatis plus 和TKMybatis效率
从18年开始用TKMybatis,然后21年使用mybatis plus
都是自动生成sql
之前使用TKMybatis+generated,一张表建好之后,页面我都没写过。
后来使用plus没有updateByPrimaryKeySelective,每次实体到条件的映射写的我好难受。
plus太费劲。

dx_233 2021-07-22
  • 举报
回复
@jie咖啡 我之前也一直用tk,最近在看plus,我刚刚看了一下plus中的updateById方法应该是和tk中的updateByPrimaryKeySelective一样的吧?
b786087155 2022-02-25
  • 举报
回复
@dx_233 不一样,相当的不一样阿!
沁海棠 2019-08-29
  • 打赏
  • 举报
回复
指定数据库字段,配置一下,以后使用mybatis plus api删除就是逻辑删除,他的api查询什么的也会过滤掉逻辑删除的数据。 https://baomidou.gitee.io/mybatis-plus-doc/#/quick-start 官方文档
香草天空Sky 2019-08-29
  • 打赏
  • 举报
回复
引用 1 楼 青海棠 的回复:
TKMybatis 没用过,Mybatis Plus挺好用。单表增删改查不用写,动态数据源支持,逻辑删除支持。
逻辑删除怎么支持的
沁海棠 2019-08-29
  • 打赏
  • 举报
回复
TKMybatis 没用过,Mybatis Plus挺好用。单表增删改查不用写,动态数据源支持,逻辑删除支持。
【资源说明】 课程设计基于Java实现的校园快递代拿系统源码+sql数据库+项目详细说明.zip 1、该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果有一点儿基础,亦可在此代码基础上进行修改,以实现其他功能。 项目核心功能简述: 在此之前最好先看下notes、plan目录下的txt文件 本项目是一个自己臆想出需求(当然,大部分以课程设计文档需求为主)的大学快递代拿服务系统, 后端使用了springboot,mybatis-plus,redis(含lua),rocketmq等进行功能开发实现。 除此之外也整合了nacos,sentinel实现了简单的微服务 至于前端,本人前端水平有限,只能使用老一套的jq,bootstrap实现 分配配送员完整思路 各组件使用情况: 1. springboot作为项目使用的基础建设框架 2. mybatis-plus作为crud核心(为什么不用tk?因为mybatis-plus的使用更为简单,尤其是乐观锁、逻辑删除等) 3. spring security+oauth2使用rsa加密实现认证中心(我这里没有使用io.jsonwebtoken,实际上应该使用,nacos的源码也有使用jjwt,我没使用只是为了更好的熟悉security的部分源码) 4. redis除了用作基本缓存以外,还是程序实现自动分配配送员的核心(详细看plan目录下的编写计划),简单概括下就是zset+lua实现区域按权重分配配送员 5. rocketmq则是用作订单超时自动取消、用户支付后发送分配配送员的事务消息,用户评价后发送分数校准的事务消息 6. nacos作为注册中心服务发现 7. sentinel作为服务熔断/限流降级 8. 实现了配送员签到/加班功能,能统计连签天数 9. 也实现了不同会员下单时打折的功能 10. 也有整合swagger(layui),访问地址是 ip:port + context-path + /docs.html,例如localhost:40200/order/docs.html或http://localhost:40300/docs.html,如果提示Access token expired请清除cookie 额外说明: 1. 启动express-order之前要启动express-ucenter, 2. 因为初始化配送员权重的代码写到order去了,order需要远程调用ucenter。 3. 代码还可能出现大改 4. 2019/11/22日之前rocketmq的两阶段提交还没学透,所以在这之前写的rocketmq事务处理方式是错的 5. 账号到数据库看,密码不是 mimajiushi 就是 123 6. express-auth 暂时没实现注册,登录页面 http://localhost:40400/page/index 7. 项目启动需要nacos是启动的,nacos的ip改成自己的, sentinel暂时可有可无 8. 项目中的反馈功能还未实现,因为只是简单的crud(包括某些查询)没什么新知识,所以暂时放着不管 9. 本项目偏向于个人的未知领域探索实现(绝对不是因为偷懒,笑),比如分布式事务如何保证最终一致性等,所以对个别功能定了计划但并没有实现, 比如:百度地图的区域可视化,收获地址管理等(以前的作品都实现过的功能我就不再实现了) 缺点: 1. 部份表可能显得比较肿,主要原因还是时间有限,不想重复过多无意义的dao代码 2. 我前端比较垃圾 3. 授权粒度只细化到角色级别,白话就是角色即权限,这么做一方面本项目没有前后分离也没有实现前后分离的动态路由,所以没必要细化到各角色权限也能实现该有的功能 4. 一些开源组件实现可能还存在比较细节的错误 一些容易出错的坑和项目主要关注的点: 1. 一个大坑就是rocketmq,我是现学现用的,曾因为理论不完善而导致代码多次出现大改, 1.1. 主要坑有两个,一个两阶段提交如何确保事务最终一致性(其实就是这学期nosql的理论实践)
项目描述 基于SpringBoot+thymeleaf实现的大学生自习室座位预定系统是为座位管理打造的一款在线管理平台,它可以实时完成信息处理,使其系统化和规范化。 系统功能说明 管理员 1、用户管理 管理员可以新增、删除管理员 管理员可以删除学生 2、自习室管理 管理员可以新增自习室、设置自习室的座位数量、开放时间,对自习室进行管理 管理员可以管理学生的预订情况、可以强制退订 3、学院班级管理 管理员可以新增、修改、删除学院、班级(实际上这部分数据应该来源于教务系统) 4、个人管理 管理员可以对自己信息进行修改 学生 1、自习室管理 学生可以查看自习室座位的预定情况并进行预定 学生可以查看自己的预定情况,并退订 2、个人信息管理 学生可以修改自己的用户信息 需改进之处 1、学生在预定座位后,无法判断是否按时去座位学习,可加入学生签到打卡功能。 2、学生在预定座位后,如未去学习,该作为在该时间段无法被其他同学预约,浪费公共资源,可加入学生信用的功能,指定信用分之下禁止预定座位 3、到学期末座位紧张,可考虑加入学生求座功能,管理员精确控制自习室的情况,以保证作为供应充足(实际上还需要教室资源充足) 4、可加入学生留言功能,方便接收更好的建议 5、...... 运行环境 jdk8+tomcat8+mysql5.7+IntelliJ IDEA+maven 项目技术(必填) 服务端:SpringBoot + mybatis-plus + thymeleaf 前端:layui + jquery 数据库文件(可选) 项目中包含了 资源包文件(可选) MySQL5下载链接:https://pan.baidu.com/s/1cuu0F2RM_DulSz2Tk1fXIA 提取码:jcxs Maven3.6.0下载链接:https://pan.baidu.com/s/1vmEo2EB2kvNB1v4IowILRQ 提取码:67mg 运行视频(可选) 链接: https://pan.baidu.com/s/1H2Fmvk5Z-kANnAkqSooYHQ?pwd=xwex 提取码: xwex

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧