Mybatis-8-SQL语句构建器

简介: 就是一个动态组装sql的功能。

如果发愁写SQL语句,在Mybatis中,提供了一种生成SQL语句的工具,以下为所在类包:

image.png

抽象类AbstractSQL太大了,可以下源码自己查看:

image.png

       可以看到很多熟悉的SQL语句的关键字,比如 JOIN ON ,DISTINCT等等。

直接上代码:

publicstaticvoidmain(String[] args) {
// 官网实例SQLsql1=newSQL() {{
SELECT("P.ID, P.USERNAME, P.PASSWORD, P.FULL_NAME");
SELECT("P.LAST_NAME, P.CREATED_ON, P.UPDATED_ON");
FROM("PERSON P");
FROM("ACCOUNT A");
INNER_JOIN("DEPARTMENT D on D.ID = P.DEPARTMENT_ID");
INNER_JOIN("COMPANY C on D.COMPANY_ID = C.ID");
WHERE("P.ID = A.ID");
WHERE("P.FIRST_NAME like ?");
OR();
WHERE("P.LAST_NAME like ?");
GROUP_BY("P.ID");
HAVING("P.LAST_NAME like ?");
OR();
HAVING("P.FIRST_NAME like ?");
ORDER_BY("P.ID");
ORDER_BY("P.FULL_NAME");
        }};
System.out.println(sql1);
// 删除语句SQLsql2=newSQL();
sql2.DELETE_FROM("user");
sql2.WHERE("id = 1");
System.out.println("删除语句:");
System.out.println(sql2);
// 插入语句SQLsql3=newSQL().
INSERT_INTO("USER")
                .VALUES("ID, USERNAME", "${id}, ${userName}")
                .VALUES("REALNAME", "${realName}");
System.out.println("插入语句:");
System.out.println(sql3);
// 查询语句Stringid="id";
StringuserName="userName";
StringrealName="realName";
SQLsql4=newSQL() {{
SELECT("U.ID, U.USERNAME, U.PASSWORD");
FROM("PERSON U");
if (id!=null) {
WHERE("U.ID = ${id}");
            }
if (userName!=null) {
WHERE("U.USERNAME like ${userName}");
            }
if (realName!=null) {
WHERE("U.REALNAME like ${realName}");
            }
ORDER_BY("U.LAST_NAME");
        }};
System.out.println("查询语句:");
System.out.println(sql4);
// 更新修改语句SQLsql5=newSQL();
sql5.UPDATE("USER");
sql5.SET("USERNAME = ${userName}");
sql5.WHERE("ID = ${id}");
System.out.println("更新语句:");
System.out.println(sql5);
    }

运行结果:

image.png

官网有每个版本新增的方法说明。


总结:

       我还是喜欢自己写sql,感觉写这个语句的时间,足够我写一个啦!

而且,这个也只是对传入字符的拼装而已,如果传入参数写错了,也没有校验功能。

目录
相关文章
|
SQL 存储 测试技术
SQL在构建系统中的应用:关键步骤与技巧
在构建基于数据库的应用系统时,SQL(Structured Query Language)作为与数据库交互的核心语言,扮演着至关重要的角色
|
SQL 安全 Java
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
MyBatis-Plus 提供了一套强大的条件构造器(Wrapper),用于构建复杂的数据库查询条件。Wrapper 类允许开发者以链式调用的方式构造查询条件,无需编写繁琐的 SQL 语句,从而提高开发效率并减少 SQL 注入的风险。
317 2
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
|
SQL
SQL使用with构建临时表
SQL使用with构建临时表
459 8
|
SQL 存储 数据库
SQL在构建系统中的应用:关键要素与编写技巧
在构建基于数据库的系统时,SQL(Structured Query Language)扮演着至关重要的角色
|
SQL 数据库管理 索引
SQL语句查询教师表:高效构建与技巧分享
在数据库管理中,查询操作是最基础也是最重要的功能之一
|
SQL 运维 监控
MSSQL性能调优实战:索引精细化构建、SQL查询深度优化与高效并发控制策略
在Microsoft SQL Server(MSSQL)的运维与优化过程中,索引的精细化构建、SQL查询的深度优化以及高效并发控制策略是提升数据库性能的关键
|
SQL 监控 Serverless
MSSQL性能调优实战:索引精细化构建、SQL查询深度优化与并发管理策略
在Microsoft SQL Server(MSSQL)的性能调优实践中,索引的精细化构建、SQL查询的深度优化以及高效的并发管理策略是提升数据库性能不可或缺的三大支柱
|
前端开发 Java JSON
Struts 2携手AngularJS与React:探索企业级后端与现代前端框架的完美融合之道
【8月更文挑战第31天】随着Web应用复杂性的提升,前端技术日新月异。AngularJS和React作为主流前端框架,凭借强大的数据绑定和组件化能力,显著提升了开发动态及交互式Web应用的效率。同时,Struts 2 以其出色的性能和丰富的功能,成为众多Java开发者构建企业级应用的首选后端框架。本文探讨了如何将 Struts 2 与 AngularJS 和 React 整合,以充分发挥前后端各自优势,构建更强大、灵活的 Web 应用。
201 0
|
Java 测试技术 容器
从零到英雄:Struts 2 最佳实践——你的Web应用开发超级变身指南!
【8月更文挑战第31天】《Struts 2 最佳实践:从设计到部署的全流程指南》深入介绍如何利用 Struts 2 框架从项目设计到部署的全流程。从初始化配置到采用 MVC 设计模式,再到性能优化与测试,本书详细讲解了如何构建高效、稳定的 Web 应用。通过最佳实践和代码示例,帮助读者掌握 Struts 2 的核心功能,并确保应用的安全性和可维护性。无论是在项目初期还是后期运维,本书都是不可或缺的参考指南。
180 0
|
SQL 关系型数据库 MySQL

热门文章

最新文章

下一篇
oss云网关配置