网站首页 > 博客文章 正文
MyBatis还是JPA,不在本文章的讨论范围之内,本文假设你使用的是mybatis,这里只是提供一种思路。
常规使用 mybatis:
代码生成器,mybatis-generator
- 内容基本无法改动,会生成domain类、Example类、mapper映射文件,例如:张三新加了一个字段,然后重新生成了代码,如果合并代码的时候,稍微不留意,就会造成严重的问题。
- 生成内容过多,有些方法和返回值其实并不需要,不能每次都去修改代码生成器。
- 如果要使用,推荐只是第一次创建表结构的时候使用
xml内写sql
- sql 并不直观
- 如果项目内存在代码审查,DBA无法真正的进行查看
使用第三方的mybatis封装包
其实个人比较喜欢JPA,但是实践的机会不多,国内大多数的公司使用的还是mybatis
MyBatis FreeMarker
官方地址:
http://mybatis.org/freemarker-scripting/
优点:
一个方法一个sql文件,方便DBA进行sql审核,简洁优雅。
缺点:
一个方法一个sql文件,如果数据库发生了更改,没有xml的方式更改起来方便。
其实这种方式的优点也是它的缺点。
POM依赖:
<!-- MyBatis的脚本语言配置功能 -->
<dependency>
<groupId>org.mybatis.scripting</groupId>
<artifactId>mybatis-freemarker</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<!-- Mysql Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
Mapper:
@Mapper
public interface DemoMapper {
@Insert("DemoMapper/insert.ftl")
@Options(useGeneratedKeys = true, keyProperty = "id")
void insert(@Param("demo") Demo demo);
}
insert into demo(
id,
a1
)values (
<@p name = "demo.id"/>,
<@p name = "demo.a1"/>
)
写多了mybatis,发现这种写法反而是解放了个人的生产力,有问题也比较好查找。
DEMO位置
https://gitee.com/lizhifu/tomato-cloud/tree/master/tomato-study/tomato-study-mybaits-script
猜你喜欢
- 2025-06-03 程序员简历例句—范例Java、Python、C++模板
- 2025-06-03 SQLREST工具的功能概述及使用指南
- 2025-06-03 SpringBoot一个提升N倍性能的操作
- 2025-06-03 Jeecgboot3.2版-postgres脚本制作
- 2025-06-03 心心念念的前端代码生成利器,前后端一网打尽
- 2025-06-03 基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构(附源码)
- 2025-06-03 拒绝MyBatis慢查询!性能优化实战手册
- 2025-06-03 有了 SPL,看来用不着 ORM 了(spl使用)
- 2025-06-03 Gradle的学习(gradle入门到精通)
- 2025-06-03 SpringBoot整合MybatisPlus实现分页查询
你 发表评论:
欢迎- 最近发表
-
- Python 中 必须掌握的 20 个核心函数—len()函数
- 用PLC的指针实现字符串转byte(Codesys平台)一文极简搞懂指针
- EXCEL如何用函数读取复杂字符串中的数据
- 2025-07-19:计算字符串的镜像分数。用go语言,给定一个字符串 s
- 2025-07-10:字符相同的最短子字符串Ⅰ。用go语言,给定一个长度
- 基于物理特征融合与机器学习的多井协同钻井速率实时预测与优化(
- [电子学报文章精选]一种基于特征融合的恶意代码快速检测方法
- 强大的可视化流程图编辑神器 — LogicFlow
- 前端框架太卷了!字节企业级框架Arco Design Mobile开源了
- Vue独立组件——11个最佳Vue.js日期选择器组件
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- flutterrun (59)
- powershellfor (73)
- messagesource (71)
- plsql64位 (73)
- vueproxytable (64)
- npminstallsave (63)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- nacos启动失败 (64)
- ssh-add (70)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- qcombobox样式表 (68)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)