`
trydofor
  • 浏览: 151352 次
  • 性别: 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,来读取...

    java读取本地.db文件实例

    在测试过程中,可以创建一个名为`Test.java`的类,模拟上述步骤来读取数据库中的数据。例如: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql....

    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)驱动程序访问数据库时...

    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连接SQL-Server2014详细步骤.doc

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

    activiti建表sql

    最后,H2是一个轻量级的开源关系型数据库,常用于开发和测试环境。由于其小巧且易于集成,H2在Java应用程序中很受欢迎。在H2中创建Activiti表的SQL语句与MySQL类似,但由于H2支持多种模式(schema),所以你可能需要...

    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和SQL-Server图书管理系统课程设计

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

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

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

    Java连sqlserver2005

    成功执行上述测试代码后,如果没有异常抛出,且控制台显示了连接对象的信息,则表明Java与SQL Server 2005的连接已经建立成功。 #### 结论 通过上述步骤,我们不仅详细阐述了如何在SQL Server 2005中创建登录名并...

    同步更新测试.sql

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

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

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

    sql常用jar包,与文章配套需要的自提

    最后,`junit4.12`是JUnit 4.12版本的测试框架,它是Java开发中最常用的单元测试工具之一。JUnit允许编写和运行可重复的测试用例,确保代码的质量和稳定性。 综上所述,这些jar包主要涉及Java与SQL数据库的交互,...

Global site tag (gtag.js) - Google Analytics