分享:用Java枚举类定义表,并且生成查询语句。
2012-09-10 17:14
232 查看
习惯写SQL的童鞋,咱们来换换口味!用Java的枚举类定义一个表,并且生成SQL语句,别有一番风味。
首先定义一个Student表,包含姓名、年级、班级等数据。
其中的数据类型可以再定义一个枚举类:
Java code
接着就是本文的重点了,生成SQL语句:
运行结果:
可以看出生成的CREATE最后多一个空格,我们可以进一步完善。
这里只是抛砖引玉,其实我们可以如法炮制,生成Insert,update等语句。
还可以通过这样的方法我们可以自己写一个简单的类似ORM的框架。
首先定义一个Student表,包含姓名、年级、班级等数据。
enum Student { Name(Type.CHAR, 3), Grade(Type.NUMBER, 2), Class(Type.NUMBER, 2), Lesson(Type.VARCHAR, 12), Score(Type.NUMBER, 2), ; Type type; int length; Student(Type _type, int _length) { type = _type; length = _length; } }
其中的数据类型可以再定义一个枚举类:
Java code
enum Type { CHAR, VARCHAR, NUMBER, SMALLINT; }
接着就是本文的重点了,生成SQL语句:
public class NewTest { public static void main(String[] args) { String sql = "CREATE TABLE " + Student.class.getName() + "{\n"; for (Student s : Student.values()) { sql += "\t" + s + " "; sql += s.type; sql += "(" + s.length + "),\n"; } sql += "}"; System.out.println(sql); } }
运行结果:
CREATE TABLE Student{ Name CHAR(3), Grade NUMBER(2), Class NUMBER(2), Lesson VARCHAR(12), Score NUMBER(2), }
可以看出生成的CREATE最后多一个空格,我们可以进一步完善。
这里只是抛砖引玉,其实我们可以如法炮制,生成Insert,update等语句。
还可以通过这样的方法我们可以自己写一个简单的类似ORM的框架。
相关文章推荐
- [置顶] 分享:sp_get_object_denifiction_to_file 获取存储过程函数的定义语句并生成文件
- 分享:sp_get_object_denifiction_to_file 获取存储过程函数的定义语句并生成文件
- Java生成 sql查询语句 通用方法(带排序/分页)(未测试)
- Oracle 如何查询一个对象的完整定义语句 .
- 查询当前数据库中所有有默认值的字段,并生成添加默认值的SQL语句
- Java注解(四)——注解反射生成SQL语句
- hibernate常用查询语句动态生成类(包括条件和无条件查询)
- split 函数 生成查询语句
- 通过sql语句limit标签生成java分页
- Java随机生成验证码图片,并且保存到文件系统中
- C++文本查询程序 不要定义类和智能指针管理数据 C++Primer练习12.28 使用vector,map,set容器保存来自文件的数据并生成查询结果
- 分享:sp_object MYSQL获取当前实例下指定对象与定义语句内容
- java入门学习(13)—枚举类定义及使用初步
- 在线数据库表(sql语句)生成java实体类工具
- 查询并生成占用资源多的sql语句
- JAVA连接MYSQL,查询 ,添加,删除,语句
- java分享第十三天(fastjson生成和解析json数据,序列化和反序列化数据)
- Java随机生成验证码图片,并且保存到文件系统中
- sql 查询语句定义
- 子查询定义从句总结(WITH AS 语句)