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
分享到:
相关推荐
对于"sql.mdb",可能是用于演示或测试SQL查询的样本数据库,而"student.mdb"可能是一个包含学生信息的实际数据库。在Java程序中,我们可以通过建立JDBC连接,执行SQL语句,如SELECT、INSERT、UPDATE或DELETE,来读取...
在测试过程中,可以创建一个名为`Test.java`的类,模拟上述步骤来读取数据库中的数据。例如: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql....
`sqljdbc4-4.0.jar`是微软为SQL Server提供的一个特定版本的JDBC驱动,用于在Java应用程序中连接到SQL Server数据库。 标题中的"sqljdbc4-4.0.zip"是一个压缩包,包含了`sqljdbc4-4.0.jar`文件,这个文件是Java开发...
标题中的“Caused by: java.sql.SQLException: JZ0SJ: 没有在此数据库中发现元数据存取器信息。 请按 jConnect 文档中所述安装”是一个典型的错误信息,表明在尝试使用Java数据库连接(JDBC)驱动程序访问数据库时...
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 2014详细步骤】 在Java应用程序中连接到SQL Server 2014数据库涉及多个步骤,主要包括安装SQL Server,配置服务器,设置登录账户,启用TCP/IP协议,确保端口开放,下载并安装Java数据库连接...
JAVA之连接MySQL数据库——测试数据库newtest.sql JAVA之连接MySQL数据库——测试数据库newtest.sql JAVA之连接MySQL数据库——测试数据库newtest.sql
最后,H2是一个轻量级的开源关系型数据库,常用于开发和测试环境。由于其小巧且易于集成,H2在Java应用程序中很受欢迎。在H2中创建Activiti表的SQL语句与MySQL类似,但由于H2支持多种模式(schema),所以你可能需要...
《SQL2JAVA:深入理解O/R Mapping工具》 在当今的软件开发中,尤其是在企业级应用领域,数据库管理和数据操作是至关重要的环节。SQL2JAVA作为一个O/R Mapping(对象关系映射)工具,旨在简化数据库与Java应用程序...
Java通过JDBC连接Oracle数据库是开发中常见的任务,它允许我们与Oracle数据库进行交互,执行SQL语句,处理结果集等。以下是一个详细的步骤指南,以及相关知识点的介绍。 1. **下载Oracle数据库驱动**: Oracle ...
### Java批量执行SQL知识点解析 在Java开发过程中,经常需要与数据库进行交互,尤其是在处理大量数据时,如何高效地执行SQL语句变得尤为重要。本文将详细介绍如何利用Java进行批量SQL执行,包括其背景、实现原理、...
这是文档《SQL基础知识第二版》的附带源码,方便大家直接在数据库中执行进行相关的测试与练习。
基于JAVA和SQL-Server图书管理系统课程设计 本课程设计旨在设计和开发一个基于JAVA和SQL-Server的图书管理系统,旨在解决图书馆中借阅者或工作人员查找特定书目的困难问题。该系统将能够缩短借阅者的等待时间,减轻...
《构建简易库存管理系统:Java与SQL的协同应用》 在信息技术日益发达的今天,企业管理的数字化转型成为必然趋势。一个简单但实用的库存管理系统能够极大地提高企业运营效率,降低管理成本。本文将深入探讨如何利用...
成功执行上述测试代码后,如果没有异常抛出,且控制台显示了连接对象的信息,则表明Java与SQL Server 2005的连接已经建立成功。 #### 结论 通过上述步骤,我们不仅详细阐述了如何在SQL Server 2005中创建登录名并...
同步更新测试.sql,SDFAS A同步更新测试.sql同步更新测试.sql同步更新测试.sql同步更新测试.sql同步更新测试.sql
标题中的“一款基于SQL查询ES的Java工具包”指的是一个Java库,专门设计用于通过SQL语句查询Elasticsearch(ES)数据存储。Elasticsearch是一个流行的开源搜索引擎和分析引擎,广泛应用于日志分析、实时分析等领域。...
最后,`junit4.12`是JUnit 4.12版本的测试框架,它是Java开发中最常用的单元测试工具之一。JUnit允许编写和运行可重复的测试用例,确保代码的质量和稳定性。 综上所述,这些jar包主要涉及Java与SQL数据库的交互,...
此外,JDK还包括了`jar`工具用于创建和管理Java归档文件,`javadoc`用于生成API文档,以及`jshell`(也称为REPL,Read-Eval-Print Loop)用于快速测试和学习Java语法。 总的来说,Java JDK 11.0.8是Java开发者不可...
"Eclipse连接SQL"的主题涉及了如何在Eclipse集成开发环境中配置和使用Java代码来连接到SQL数据库,这对于数据库课程设计和大型实验项目至关重要。下面将详细阐述这一过程。 首先,Eclipse是一个流行的Java开发IDE,...