`
trydofor
  • 浏览: 150472 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

002.测验.Java之拼装SQL

阅读更多


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
0
0
分享到:
评论

相关推荐

    java完美按格式化字符串String转sql.date

    ### Java完美按格式化字符串String转sql.Date 在Java编程中,经常需要处理日期与时间相关的数据。特别是在数据库操作时,经常会遇到需要将字符串类型的日期转换为`java.sql.Date`类型的情况。本文将详细介绍如何...

    sql.zip_SQL java_java sql_sql 查询_数据库 java_结果 查询

    对于"sql.mdb",可能是用于演示或测试SQL查询的样本数据库,而"student.mdb"可能是一个包含学生信息的实际数据库。在Java程序中,我们可以通过建立JDBC连接,执行SQL语句,如SELECT、INSERT、UPDATE或DELETE,来读取...

    sqljdbc4-4.0.zip

    `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 文档中所述安装

    标题中的“Caused by: java.sql.SQLException: JZ0SJ: 没有在此数据库中发现元数据存取器信息。 请按 jConnect 文档中所述安装”是一个典型的错误信息,表明在尝试使用Java数据库连接(JDBC)驱动程序访问数据库时...

    oracle 数据库 scott.sql 范例表

    Oracle数据库是世界上最...总结来说,"oracle 数据库 scott.sql 范例表"提供了一个学习和测试Oracle SQL的实用环境。通过导入"scott.sql"并使用SCOTT用户,初学者能够熟悉数据库管理和SQL语言,进一步提升数据库技能。

    xfire测试项目(包括复杂数据类型)

    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之连接MySQL数据库——测试数据库newtest.sql

    JAVA之连接MySQL数据库——测试数据库newtest.sql JAVA之连接MySQL数据库——测试数据库newtest.sql JAVA之连接MySQL数据库——测试数据库newtest.sql

    SQL2JAVA

    《SQL2JAVA:深入理解O/R Mapping工具》 在当今的软件开发中,尤其是在企业级应用领域,数据库管理和数据操作是至关重要的环节。SQL2JAVA作为一个O/R Mapping(对象关系映射)工具,旨在简化数据库与Java应用程序...

    java+SQLServer学生成绩管理系统(代码+数据库)

    9. **测试与调试**:开发过程中,单元测试和集成测试是必不可少的,JUnit可能是用于Java单元测试的工具,而SQL查询的调试则可能依赖于SQLServer的内置工具。 10. **安全性**:系统可能包含了用户认证和授权机制,...

    java通过jdbc连接oracle数据库.doc

    Java通过JDBC连接Oracle数据库是开发中常见的任务,它允许我们与Oracle数据库进行交互,执行SQL语句,处理结果集等。以下是一个详细的步骤指南,以及相关知识点的介绍。 1. **下载Oracle数据库驱动**: Oracle ...

    java批量执行SQL

    ### Java批量执行SQL知识点解析 在Java开发过程中,经常需要与数据库进行交互,尤其是在处理大量数据时,如何高效地执行SQL语句变得尤为重要。本文将详细介绍如何利用Java进行批量SQL执行,包括其背景、实现原理、...

    SQL_Road脚本.sql

    这是文档《SQL基础知识第二版》的附带源码,方便大家直接在数据库中执行进行相关的测试与练习。

    Java-JDK-11.0.8(Windows &amp;amp; Mac os) 下载

    此外,JDK还包括了`jar`工具用于创建和管理Java归档文件,`javadoc`用于生成API文档,以及`jshell`(也称为REPL,Read-Eval-Print Loop)用于快速测试和学习Java语法。 总的来说,Java JDK 11.0.8是Java开发者不可...

    一个简单JAVA+SQL的库存管理系统

    《构建简易库存管理系统:Java与SQL的协同应用》 在信息技术日益发达的今天,企业管理的数字化转型成为必然趋势。一个简单但实用的库存管理系统能够极大地提高企业运营效率,降低管理成本。本文将深入探讨如何利用...

    基于JAVA和SQL-Server图书管理系统课程设计

    基于JAVA和SQL-Server图书管理系统课程设计 本课程设计旨在设计和开发一个基于JAVA和SQL-Server的图书管理系统,旨在解决图书馆中借阅者或工作人员查找特定书目的困难问题。该系统将能够缩短借阅者的等待时间,减轻...

    同步更新测试.sql

    同步更新测试.sql,SDFAS A同步更新测试.sql同步更新测试.sql同步更新测试.sql同步更新测试.sql同步更新测试.sql

    eclipse连接sql.zip

    "Eclipse连接SQL"的主题涉及了如何在Eclipse集成开发环境中配置和使用Java代码来连接到SQL数据库,这对于数据库课程设计和大型实验项目至关重要。下面将详细阐述这一过程。 首先,Eclipse是一个流行的Java开发IDE,...

    Spire.XLS forJava 13.5.2 全功能无限制

    本资资打包重新shade com.sini.xls ,官网例子已测试通过 ,前一个版本由于个人原因报错,现已修复 ,如缺少类库需下载 Spire基础资源类库https://download.csdn.net/download/victorkevin/89729498

    一款基于SQL查询ES的Java工具包,支持SQL解析DSL,支持JDBC驱动,支持和Mybatis、Spring集成.zip

    标题中的“一款基于SQL查询ES的Java工具包”指的是一个Java库,专门设计用于通过SQL语句查询Elasticsearch(ES)数据存储。Elasticsearch是一个流行的开源搜索引擎和分析引擎,广泛应用于日志分析、实时分析等领域。...

Global site tag (gtag.js) - Google Analytics