Java--SpringBoot-40-Mybatis-8-SQL语句构建器

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

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

image.png


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

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


官网有每个版本新增的方法说明:(阅读原文可跳到官网)

image.png


总结:

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

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




END

目录
相关文章
|
2月前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
48 4
|
2月前
|
Java API 数据库
如何使用Spring Boot构建RESTful API,以在线图书管理系统为例
【10月更文挑战第9天】本文介绍了如何使用Spring Boot构建RESTful API,以在线图书管理系统为例,从项目搭建、实体类定义、数据访问层创建、业务逻辑处理到RESTful API的实现,详细展示了每个步骤。通过Spring Boot的简洁配置和强大功能,开发者可以高效地开发出功能完备、易于维护的Web应用。
63 3
|
2月前
|
SQL 存储 测试技术
SQL在构建系统中的应用:关键步骤与技巧
在构建基于数据库的应用系统时,SQL(Structured Query Language)作为与数据库交互的核心语言,扮演着至关重要的角色
|
1月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。首先,创建并配置 Spring Boot 项目,实现后端 API;然后,使用 Ant Design Pro Vue 创建前端项目,配置动态路由和菜单。通过具体案例,展示了如何快速搭建高效、易维护的项目框架。
104 62
|
2天前
|
负载均衡 Java 开发者
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
27 5
|
28天前
|
人工智能 前端开发 Java
基于开源框架Spring AI Alibaba快速构建Java应用
本文旨在帮助开发者快速掌握并应用 Spring AI Alibaba,提升基于 Java 的大模型应用开发效率和安全性。
基于开源框架Spring AI Alibaba快速构建Java应用
|
1月前
|
SQL 安全 Java
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
MyBatis-Plus 提供了一套强大的条件构造器(Wrapper),用于构建复杂的数据库查询条件。Wrapper 类允许开发者以链式调用的方式构造查询条件,无需编写繁琐的 SQL 语句,从而提高开发效率并减少 SQL 注入的风险。
16 1
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
|
22天前
|
Java
SpringBoot构建Bean(RedisConfig + RestTemplateConfig)
SpringBoot构建Bean(RedisConfig + RestTemplateConfig)
38 2
|
28天前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,帮助开发者提高开发效率和应用的可维护性。
53 2
|
29天前
|
Java 数据库连接 数据库
如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面
本文介绍了如何构建高效稳定的Java数据库连接池,涵盖连接池配置、并发控制和异常处理等方面。通过合理配置初始连接数、最大连接数和空闲连接超时时间,确保系统性能和稳定性。文章还探讨了同步阻塞、异步回调和信号量等并发控制策略,并提供了异常处理的最佳实践。最后,给出了一个简单的连接池示例代码,并推荐使用成熟的连接池框架(如HikariCP、C3P0)以简化开发。
48 2