欢迎来真孝善网,为您提供真孝善正能量书籍故事!

Java代码自动生成解决方案详解

时间:11-07 神话故事 提交错误

conn=DriverManager.getConnection(url, 用户, 密码);

2.获取数据库所有表

Mapmaps=new HashMap();

PreparedStatement pstate=conn.prepareStatement("显示表状态");

ResultSet 结果=pstate.executeQuery();

while (结果.next()) {

String tableName=results.getString("NAME");

字符串评论=results.getString("COMMENT");

地图.put(表名, 评论);

}

3.获得每个表中的信息

封装一个实体来存储表中的信息

PreparedStatement pstate=conn.prepareStatement("显示" + tableName 中的完整字段);

ResultSet 结果=pstate.executeQuery();

列表列表=new ArrayList();

while (结果.next()) {

列列=new Column();

字符串字段=results.getString("FIELD");

列.setFeildMapper(字段);

String 字段名称=processField(field);

列.setFeild(字段名);

字符串类型=processType(results.getString("TYPE"));

字符串评论=results.getString("COMMENT");

列.setType(类型);

列.setComment(评论);

列表.添加(列);

}

4.拼串输出

从实体中取出固定代码中需要更改的字段,写入文档中。

例如,为表生成po:

公共类WritePo {

公共静态无效createPo(字符串路径,字符串包名称,字符串upTable,字符串lowTable,列表列)抛出IOException {

文件夹=new File(path + lowTable + "/po");

if (!folder.exists()) {

文件夹.mkdirs();

}

File beanFile=new File(文件夹+ "/" + upTable + ".java");

BufferedWriter bw=新BufferedWriter(新OutputStreamWriter(

新的FileOutputStream(beanFile)));

bw.write("包"+packageName+lowTable+".po;");

bw.newLine();

bw.write("导入java.io.Serialized;");

bw.newLine();

//bw.write("导入lombok.Data;");

//bw.write("导入javax.persistence.Entity;");

bw.newLine();

bw.write("@SuppressWarnings("串行")");

bw.newLine();

//bw.write("@Entity");

//bw.write("@Data");

//bw.newLine();

bw.write("公共类" + upTable + " 实现可序列化{");

bw.newLine();

bw.newLine();

int 大小=columns.size();

for(列vo : 列){

//bw.write("t/**" + comments.get(i) + "**/");

bw.write("t/**");

bw.newLine();

bw.write("t *" + vo.getComment());

bw.newLine();

bw.write("t **/");

bw.newLine();

bw.write("tprivate" + vo.getType() + " " + vo.getFeild() + ";");

bw.newLine();

bw.newLine();

}

bw.newLine();

//生成get和set方法

字符串tempField=null;

字符串_tempField=null;

字符串tempType=null;

for(列vo : 列){

tempType=vo.getType();

_tempField=vo.getFeild();

tempField=_tempField.substring(0, 1).toUpperCase()

+ _tempField.substring(1);

bw.newLine();

//bw.write("tpublic void set" + tempField + "(" + tempType + " _" +

//_tempField + "){");

bw.write("tpublic void set" + tempField + "(" + tempType + " "

+ _tempField + "){");

bw.newLine();

//bw.write("ttthis." + _tempField + "=_" + _tempField + ";");

bw.write("ttthis." + _tempField + "=" + _tempField + ";");

bw.newLine();

bw.write("t}");

bw.newLine();

bw.newLine();

bw.write("tpublic " + tempType + " get" + tempField + "(){");

bw.newLine();

bw.write("ttreturn this." + _tempField + ";");

bw.newLine();

bw.write("t}");

bw.newLine();

}

bw.newLine();

bw.write("}");

bw.newLine();

bw.flush();

bw.close();

}

}

如果你还想了解更多这方面的信息,记得收藏关注本站。

用户评论

减肥伤身#

Java自动生成代码是不是效率超高啊?

    有11位网友表示赞同!

此刻不是了i

学习编程确实很费时间,这方面能省点事就省事哈!

    有9位网友表示赞同!

她的风骚姿势我学不来

这样一来开发的速度应该会更快一些吧?

    有20位网友表示赞同!

惦着脚尖摘太阳

对新手来说或许有点帮助,可以快速入门?

    有11位网友表示赞同!

留我一人

不知道这种模式的代码质量怎么样啊?

    有5位网友表示赞同!

墨城烟柳

会不会太依赖工具了?还是得掌握基础知识。

    有11位网友表示赞同!

夏至离别

听说有一些框架或者IDE都支持自动生成部分代码?

    有17位网友表示赞同!

忘故

这方面技术越来越发达了,以后还能干啥呀?

    有10位网友表示赞同!

走过海棠暮

想试一下这种自动生成代码的体验感觉很新奇!

    有16位网友表示赞同!

鹿先森,教魔方

对于大型项目来说,这种方法实用吗?

    有17位网友表示赞同!

温柔腔

自动生成代码会取代程序员的岗位吗?

    有11位网友表示赞同!

南初

这门技术是不是需要一定的编程基础才能使用呢?

    有20位网友表示赞同!

金橙橙。-

学习一下这方面的话,对以后职业发展有帮助吗?

    有16位网友表示赞同!

烟雨萌萌

自动生成代码能生成多复杂的逻辑代码?

    有8位网友表示赞同!

面瘫脸

有没有哪些工具可以推荐下?

    有14位网友表示赞同!

千城暮雪

这种方式会影响代码的可读性和可维护性吗?

    有9位网友表示赞同!

顶个蘑菇闯天下i

这个领域未来发展的前景怎么样?

    有12位网友表示赞同!

把孤独喂饱

感觉这是一个很有潜力的技术,希望能应用得越来越广泛。

    有14位网友表示赞同!

月下独酌

想了解一下自动生成代码有哪些局限性?

    有17位网友表示赞同!

〆mè村姑

这方面有没有相关的学习资源可以推荐吗?

    有7位网友表示赞同!

【Java代码自动生成解决方案详解】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活