首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

分享:用Java枚举种定义表,并且生成查询语句

2012-09-19 
分享:用Java枚举类定义表,并且生成查询语句。习惯写SQL的童鞋,咱们来换换口味!用Java的枚举类定义一个表,并

分享:用Java枚举类定义表,并且生成查询语句。

习惯写SQL的童鞋,咱们来换换口味!用Java的枚举类定义一个表,并且生成SQL语句,别有一番风味。

首先定义一个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的框架。
1楼panziyu_tody1小时前
你就拉倒吧。。。。。java之王,你真的奇葩的存在,求别丢java人的面了,咱写不出文章就别装13,没什么技术就不要再论坛当专家,发现你除了在语言排名疑惑职业生涯相关话题得瑟几句,技术板块咋就看不到你鬼影?咱能踏实点么?

热点排行