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之连接MySQL数据库——测试数据库newtest.sql JAVA之连接MySQL数据库——测试数据库newtest.sql JAVA之连接MySQL数据库——测试数据库newtest.sql
基于Java开发的高校自习室预约管理系统源码+sql数据库.zip基于Java开发的高校自习室预约管理系统源码+sql数据库.zip基于Java开发的高校自习室预约管理系统源码+sql数据库.zip基于Java开发的高校自习室预约管理系统...
基于Java实现的银行存管系统源码含sql数据库.zip基于Java实现的银行存管系统源码含sql数据库.zip基于Java实现的银行存管系统源码含sql数据库.zip基于Java实现的银行存管系统源码含sql数据库.zip基于Java实现的银行存...
socketio.zip,基于NETY的NETTySoCKET.IO Java服务器的SOCKI.IO Java服务器。是为了满足游戏性能要求而创建的。经playtech微服务api网关测试和使用。
基于Java的校园疫情防空系统后端源码+sql数据库.zip基于Java的校园疫情防空系统后端源码+sql数据库.zip基于Java的校园疫情防空系统后端源码+sql数据库.zip基于Java的校园疫情防空系统后端源码+sql数据库.zip基于Java...
import java.sql.*; public class test { public static void main(String[] srg) { String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; //加载JDBC驱动 String dbURL = "jdbc:sqlserver://...
基于Java开发的社区团购配送系统源码+sql数据库.zip基于Java开发的社区团购配送系统源码+sql数据库.zip基于Java开发的社区团购配送系统源码+sql数据库.zip基于Java开发的社区团购配送系统源码+sql数据库.zip基于Java...
这是文档《SQL基础知识第二版》的附带源码,方便大家直接在数据库中执行进行相关的测试与练习。
同步更新测试.sql,SDFAS A同步更新测试.sql同步更新测试.sql同步更新测试.sql同步更新测试.sql同步更新测试.sql
PL.SQL.Developer.v8.04 英文版+中文包+注册机刚刚找到的,希望是您需要的,我已经安装测试过,挺好使的。文件有22MB左右,分两个包上传。
│ │ 2.1 日期概念理解中的一些测试.sql │ │ 2.2.4 CONVERT在日期转换中的使用示例.sql │ │ 2.3.3 SET DATEFORMAT对日期处理的影响.sql │ │ 2.3.4 SET LANGUAGE对日期处理的影响示例.sql │ │ 2.4.1 日期...
Spire.XLS forJava 13无限制,功能强大的excel处理jar包,已测试,完美解决(部分小问题已提供解决方案),使用前先将jar包按照maven坐标路径放到本地仓库,不然maven会找不到jar
本资资打包重新shade package name : com.sini,官网例子已测试通过
课程设计基于java实现的线上家教预约系统源码+sql数据库.zip课程设计基于java实现的线上家教预约系统源码+sql数据库.zip课程设计基于java实现的线上家教预约系统源码+sql数据库.zip课程设计基于java实现的线上家教...
DBTest.java。DBTest.java。!!DBTest.java。DBTest.java。!!DBTest.java。DBTest.java。!!DBTest.java。DBTest.java。!!DBTest.java。DBTest.java。!!DBTest.java。DBTest.java。!!
细品这杯香浓的咖啡——阿里中间件高级专家沈询的Java之旅.docx 给你一次机会面试架构师 你会问什么问题?.docx 超全面:程序员跳槽神级攻略.docx 跳还是不跳,是一个问题——跳槽时该如何权衡?.docx 进入IT企业...
细品这杯香浓的咖啡——阿里中间件高级专家沈询的Java之旅.docx 给你一次机会面试架构师 你会问什么问题?.docx 超全面:程序员跳槽神级攻略.docx 跳还是不跳,是一个问题——跳槽时该如何权衡?.docx 进入IT企业...
基于Java的简易仿QQ聊天室的客户端源码+数据库sql.zip 1、该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、...