002.测验.Java之拼装SQL
这是一个十分简单但不实用的编程练习,拼装SQL。
select一个表,where很多单纯的and条件。
作者:史荣久 日期:2014-11-26 许可:CC BY-SA 3.0
任务说明
实现以下接口,完成练习目标。
package com.moilioncircle.kiss;
public interface Sql {
public Sql select(String... fields);
public Sql from(String table);
public Sql where(String fieldAndOperator, Object value);
public Sql and(String fieldAndOperator, Object value);
public String build();
}
任务目标
(1) 以下6个build()得出的sql,在MySql上执行,都返回1条记录。
Sql sql = new <your-Sql-impl>();
sql.select("id","birthday","homedir","description")
.from("sqltest")
.where("homedir=", "d:\\jonny\\")
.build();
sql.select("count(*)")
.from("sqltest")
.where("id>", Integer.valueOf(1))
.and("birthday=", Date.valueOf("1971-01-01"))
.build();
sql.select("count(*)")
.from("sqltest")
.build();
sql.select("1").build();
sql.select("count(*)")
.from("sqltest")
.where("description=", "jonny's pet")
.build();
sql.select("count(*)")
.from("sqltest")
.where("description=", "ben said \"hi tom!\"")
.build();
(2) 以下3个build(),抛出异常(选择舒服的异常类型)
sql.select("").build();
sql.select(null).build();
sql.select("count(*)")
.where("description=", "jonny's pet")
.build();
测试数据
通过以下SQL创建表和数据。
CREATE TABLE `sqltest` (
`id` INT NOT NULL,
`birthday` DATE NULL,
`homedir` VARCHAR(45) NULL,
`description` VARCHAR(45) NULL,
PRIMARY KEY (`id`));
insert into sqltest(id,birthday,homedir,description) values
(1,'1971-01-01','d:\\jonny\\','jonny''s pet'),
(2,'1971-02-01','d:\\tom','tom is good'),
(3,'1972-03-01','d:\\ben','ben said "hi tom!"');
-----
题图:两脚站在同一根高压电线上,电流基本上不从小鸟身上流过,小鸟是不会被电到的。
原文:
http://www.moilioncircle.com/actions/002.quiz.java-build-sql.html
分享到:
相关推荐
import java.sql.*; import java.sql.Connection; public class ss { public static void main(String [] args){ try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); String url=...
public java.sql.Timestamp getTimestamp(java.sql.Timestamp a); public java.sql.Date getSDate(java.sql.Date a); public java.sql.Time getTime(java.sql.Time a); /*自定义类型*/ public UserBean getUser...
### JAVA连接SQL Server 2000环境配置与实践 #### 一、环境配置 本文档将指导您如何在特定的开发环境下实现Java程序与Microsoft SQL Server 2000数据库之间的连接。此过程需要您按照步骤进行环境的配置。 **开发...
基于Java实现的银行存管系统源码含sql数据库.zip基于Java实现的银行存管系统源码含sql数据库.zip基于Java实现的银行存管系统源码含sql数据库.zip基于Java实现的银行存管系统源码含sql数据库.zip基于Java实现的银行存...
基于Java的校园疫情防空系统后端源码+sql数据库.zip基于Java的校园疫情防空系统后端源码+sql数据库.zip基于Java的校园疫情防空系统后端源码+sql数据库.zip基于Java的校园疫情防空系统后端源码+sql数据库.zip基于Java...
9. **测试与调试**:开发过程中,单元测试和集成测试是必不可少的,JUnit可能是用于Java单元测试的工具,而SQL查询的调试则可能依赖于SQLServer的内置工具。 10. **安全性**:系统可能包含了用户认证和授权机制,...
基于Java开发的社区团购配送系统源码+sql数据库.zip基于Java开发的社区团购配送系统源码+sql数据库.zip基于Java开发的社区团购配送系统源码+sql数据库.zip基于Java开发的社区团购配送系统源码+sql数据库.zip基于Java...
此外,JDK还包括了`jar`工具用于创建和管理Java归档文件,`javadoc`用于生成API文档,以及`jshell`(也称为REPL,Read-Eval-Print Loop)用于快速测试和学习Java语法。 总的来说,Java JDK 11.0.8是Java开发者不可...
### Java批量执行SQL知识点解析 在Java开发过程中,经常需要与数据库进行交互,尤其是在处理大量数据时,如何高效地执行SQL语句变得尤为重要。本文将详细介绍如何利用Java进行批量SQL执行,包括其背景、实现原理、...
这是文档《SQL基础知识第二版》的附带源码,方便大家直接在数据库中执行进行相关的测试与练习。
《构建简易库存管理系统:Java与SQL的协同应用》 在信息技术日益发达的今天,企业管理的数字化转型成为必然趋势。一个简单但实用的库存管理系统能够极大地提高企业运营效率,降低管理成本。本文将深入探讨如何利用...
【JAVA+SQL图书管理】是针对初学者设计的一门课程,主要目的是通过实践来学习如何构建一个基于JAVA编程语言和SQL数据库技术的图书管理系统。这个系统涵盖了软件开发的基础概念,包括后端开发、数据库设计以及两者的...
为了解决这个问题,Java开发的SQL生成器应运而生。这种工具能够根据程序员的需求自动创建SQL语句,提高了开发效率并减少了错误的可能性。 首先,我们来理解SQL生成器的核心功能。SQL生成器通常包含以下几个关键模块...
细品这杯香浓的咖啡——阿里中间件高级专家沈询的Java之旅.docx 给你一次机会面试架构师 你会问什么问题?.docx 超全面:程序员跳槽神级攻略.docx 跳还是不跳,是一个问题——跳槽时该如何权衡?.docx 进入IT企业...
"Eclipse连接SQL"的主题涉及了如何在Eclipse集成开发环境中配置和使用Java代码来连接到SQL数据库,这对于数据库课程设计和大型实验项目至关重要。下面将详细阐述这一过程。 首先,Eclipse是一个流行的Java开发IDE,...
细品这杯香浓的咖啡——阿里中间件高级专家沈询的Java之旅.docx 给你一次机会面试架构师 你会问什么问题?.docx 超全面:程序员跳槽神级攻略.docx 跳还是不跳,是一个问题——跳槽时该如何权衡?.docx 进入IT企业...
【JAVA+SQL实训报告--工资管理系统】 在信息技术领域,JAVA和SQL是两个至关重要的编程语言。JAVA主要用于构建应用程序,而SQL则是处理和管理数据库的强大工具。在这个实训项目中,我们结合两者,创建了一个工资管理...
Java仓库管理系统SQL是一个基于Java编程语言开发的仓库管理软件,其核心功能是通过SQL数据库进行数据存储和管理。系统设计通常包含多个模块,如库存管理、出入库操作、物品跟踪、库存统计等,以实现对仓库流程的高效...
这样做的好处在于提高了代码的可维护性,同时减少了SQL和Java之间的耦合。在"IBATISJDBC包"中,主要包含以下组件: 1. **IBATIS核心库**: 包含了ibatis-2.x.jar,这是IBATIS框架的主要实现,提供了SQL映射文件解析...
本话题将深入探讨两个关键的Java数据库连接器(JDBC)驱动,即`jdbc-mysql-connector-j-8.0.31.jar`(用于MySQL)和`jdbc-sqljdbc41.jar`(用于SQL Server),以及它们在JMeter中的应用。 首先,`jdbc-mysql-...