Dorado 7 自动生成Dao的类

来源:互联网 发布:mac 8081端口被占用 编辑:程序博客网 时间:2024/06/06 01:59

第一种、bean都在一个包里面的做法

Dorado 7中的Java Bean层能够通过DBTool自动生成,而Dao层得自己手敲代码,继承HibernateDao。感觉有点麻烦。就手写了一个简单的Dao生成工具
1、设置好当前bean层目录,也就是这里的entity包的路径。
2、创建dao包
3、把所有的bean都换成dao 写入文件。
4、有洁癖的 可以修改格式。

import java.io.File;import java.io.FileWriter;import java.io.IOException;public class AutoWriteDao {    /**     * @param args     * @throws IOException     */    public static void main(String[] args) throws IOException {        //根据实际情况修改        String dir = "D:/***/src/com/***/entity";//      String dir=null;        if(dir==null|| !dir.contains("src"))             new NullPointerException();        String dest_dir =  dir.replace("/entity", "/dao");        String dir_com = dir.substring(dir.indexOf("/src/") + 5).replaceAll("/",                ".");        String dest_dir_com = dest_dir.substring(dest_dir.indexOf("/src/") + 5)                .replaceAll("/", ".");        String[] arr = new File(dir).list();        if(!new File(dest_dir).exists())            new File(dest_dir).mkdirs();        for (int i = 0; i < arr.length; i++) {             if(!new File(dir+"/"+arr[i]).isFile())                continue;            String a=arr[i].substring(0,arr[i].indexOf("."));            String filenameDao = arr[i].replaceAll("\\.", "Dao.");            File file = new File(dest_dir + "/" + filenameDao);            FileWriter fw = new FileWriter(file);            fw.write("package "+dest_dir_com+";\r\n");            fw.write("import org.springframework.stereotype.Repository;\r\n" +            "import com.bstek.dorado.hibernate.HibernateDao;\r\n"                    + "import "+ dir_com+"."+a +";\r\n ");            fw.write("@Repository\r\n");            fw.write("public class "+filenameDao.substring(0,filenameDao.indexOf("."))+" extends HibernateDao<"+a +", Long> {}");            fw.flush();            fw.close();        }    }}

第二种 不在同一个类的方法:bean不在一个包里面的做法

使用递归实现的

import java.io.File;import java.io.FileWriter;import java.io.IOException;public class AutoWriteDao {    /**     * @param args     * @throws IOException     */    public static void main(String[] args) throws IOException {                String dir = "D:/***/src/com/***/entity";        // String dir=null;        if (dir == null || !dir.contains("src"))            new NullPointerException();        String dest_dir = dir.replace("/entity", "/dao/ABCD/EDFD/FSFS");        String dir_com = dir.substring(dir.indexOf("/src/") + 5).replaceAll("/",                ".");        String dest_dir_com = dest_dir.substring(dest_dir.indexOf("/src/") + 5)                .replaceAll("/", ".");        String[] arr = new File(dir).list();        createFile(dir, dest_dir, dir_com, dest_dir_com, arr);    }    private static void createFile(String dir, String dest_dir, String dir_com,            String dest_dir_com, String[] arr) throws IOException {        if (!new File(dest_dir).exists())            new File(dest_dir).mkdirs();        for (int i = 0; i < arr.length; i++) {            if (new File(dir + "/" + arr[i]).isDirectory()) {                String[] arrlist = new File(dir + "/" + arr[i]).list();                createFile(dir + "/" + arr[i], dest_dir + "/" + arr[i],                        dir_com+"."+arr[i], dest_dir_com+"."+arr[i], arrlist);                continue;            }            String a = arr[i].substring(0, arr[i].indexOf("."));            String filenameDao = arr[i].replaceAll("\\.", "Dao.");            File file = new File(dest_dir + "/" + filenameDao);            FileWriter fw = new FileWriter(file);            fw.write("package " + dest_dir_com + ";\r\n");            fw.write("import org.springframework.stereotype.Repository;\r\n"                    + "import com.bstek.dorado.hibernate.HibernateDao;\r\n"                    + "import " + dir_com + "." + a + ";\r\n ");            fw.write("@Repository\r\n");            fw.write("public class "                    + filenameDao.substring(0, filenameDao.indexOf("."))                    + " extends HibernateDao<" + a + ", Long> {}");            fw.flush();            fw.close();        }    }}
阅读全文
0 0