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
- Dorado 7 自动生成Dao的类
- hibernate自动生成dao
- CodeSmith自动生成的Dao文件使用的字符串
- Hibernate自动生成的DAO的修改方法
- 自动生成的hibernate DAO的几个方法
- 基于HibernateTemplate的dao和service文件的自动生成
- Hibernate自动生成的DAO的修改方法
- 使用java反射优化Spring自动生成的DAO实现类!
- hibernate自动生成的DAO类中的merge() attachDirty() attachClean()方法简单介绍
- mybatis如何自动生成实体类,映射文件以及对应的dao层
- MyBatis自动生成实体类、DAO接口和Mapping映射文件的代码(逆向工程)
- hibernate 自动生成 dao 包含的几个方法
- mybatis自动生成mapper,DAO,对应的关系
- service和dao类代码自动生成工具类
- 使用MyBatis Generator自动生成DAO以及实体类
- mybatis反转自动生成dao、实体类和mapper.xml
- Mybatis自动生成实体类、mapper.xml和dao
- AOS 自动生成代码(二) Dao生成
- python操作MySQL数据库
- AngularJS搜索,排序,入库,删除
- hdu 1874 畅通工程续
- android studio 快捷键
- 《算法艺术与信息学竞赛》之 贪心 例一 Gone Fishing
- Dorado 7 自动生成Dao的类
- LSTM循环神经网络中的超长序列问题
- TensorFlow conv2d原理及实践
- echarts在ionic3中动态渲染多种图表
- python3中,socket使用send函数时出现的错误:TypeError: a bytes-like object is required, not 'str'
- 个性化推荐系统(三)---推荐系统意义一点思考
- android studio framework.jar
- 怎样一条SQL语句统计该年每月的数据个数
- EM(期望最大算法)在高斯混合模型中的python实现