package generate;

import java.io.File;

import java.io.FileWriter;

import java.io.IOException;

import org.apache.log4j.Logger;

/**

*

* @projectName:testttt

* @author:tangwzh

* @createTime:2014-5-19 上午11:19:46

* @function: 自动生成dao.java和daoImpl.java文件

* @version:

*/

public class GenerateDao {

private static final Logger LOGGER = Logger.getLogger(Thread

.currentThread().getStackTrace()[1].getClassName());

/*public static void main(String[] args) {

String filePath = "C:\\Users\\inrtyx\\Desktop";

generateDaoFile(filePath, "RESOURCE");

generateDaoImplFile(filePath, "RESOURCE");

}*/

/**

*

* @param daoFilePath

* @param tableName

*/

public static void generateDaoImplFile(String daoFilePath, String tableName){

String lowerCaseName = tableName.toLowerCase();

String fistLetter = lowerCaseName.substring(0,1).toUpperCase();

String name = fistLetter + lowerCaseName.substring(1);

String fileName = daoFilePath + "/" + name + "DaoImpl.java";

File file = new File(fileName);

if(!file.exists()){

try {

boolean isSuccess = file.createNewFile();

if(!isSuccess){

LOGGER.error("创建dao文件失败");

return;

}

} catch (IOException e) {

e.printStackTrace();

LOGGER.error("create dao file error:", e);

}

}

FileWriter fileWriter = null;

try {

fileWriter = new FileWriter(file);

//注解

fileWriter.write("@Service(\"" + name + "DaoImpl\")");

fileWriter.write("\n");

//接口开始

fileWriter.write("public class " + name + "DaoImpl extends BaseDao implements " + name + "Dao {");

fileWriter.write("\n");

//select

printTab(fileWriter, 1);

fileWriter.write("public List select" + name + "s(Map index){");

printTab(fileWriter, 2);

fileWriter.write("return (List)this.getSqlMapClientTemplate().queryForList(\"select" + name + "s\", index);");

printTab(fileWriter, 1);

fileWriter.write("}");

fileWriter.write("\n");

//select count

printTab(fileWriter, 1);

fileWriter.write("public int select" + name + "sCount(Map index){");

printTab(fileWriter, 2);

fileWriter.write("return (Integer)this.getSqlMapClientTemplate().queryForObject(\"select" + name + "sCount\", index);");

printTab(fileWriter, 1);

fileWriter.write("}");

fileWriter.write("\n");

//insert

printTab(fileWriter, 1);

fileWriter.write("public void insert" + name + "(" + name + " instance){");

printTab(fileWriter, 2);

fileWriter.write("this.getSqlMapClientTemplate().insert(\"insert" + name + "\", instance);");

printTab(fileWriter, 1);

fileWriter.write("}");

fileWriter.write("\n");

//update

printTab(fileWriter, 1);

fileWriter.write("public void update" + name + "(Map index){");

printTab(fileWriter, 2);

fileWriter.write("this.getSqlMapClientTemplate().update(\"update" + name + "\", index);");

printTab(fileWriter, 1);

fileWriter.write("}");

fileWriter.write("\n");

//delete

printTab(fileWriter, 1);

fileWriter.write("public void delete" + name + "(Map index){");

printTab(fileWriter, 2);

fileWriter.write("this.getSqlMapClientTemplate().delete(\"delete" + name + "\", index);");

printTab(fileWriter, 1);

fileWriter.write("}");

fileWriter.write("\n");

//结束

fileWriter.write("}");

} catch (Exception e) {

e.printStackTrace();

LOGGER.error(e);

}finally{

try {

if(fileWriter != null){

fileWriter.close();

}

} catch (Exception e2) {

e2.printStackTrace();

}

}

}

/**

*

* @param daoFilePath

* @param tableName

*/

public static void generateDaoFile(String daoFilePath, String tableName){

String lowerCaseName = tableName.toLowerCase();

String fistLetter = lowerCaseName.substring(0,1).toUpperCase();

String name = fistLetter + lowerCaseName.substring(1);

String fileName = daoFilePath + "/" + name + "Dao.java";

File file = new File(fileName);

if(!file.exists()){

try {

boolean isSuccess = file.createNewFile();

if(!isSuccess){

LOGGER.error("创建dao文件失败");

return;

}

} catch (IOException e) {

e.printStackTrace();

LOGGER.error("create dao file error:", e);

}

}

FileWriter fileWriter = null;

try {

fileWriter = new FileWriter(file);

//接口开始

fileWriter.write("public interface " + name + "Dao{");

fileWriter.write("\n");

//select

printTab(fileWriter, 1);

fileWriter.write("public List select" + name + "s(Map index);");

fileWriter.write("\n");

//select count

printTab(fileWriter, 1);

fileWriter.write("public int select" + name + "sCount(Map index);");

fileWriter.write("\n");

//insert

printTab(fileWriter, 1);

fileWriter.write("public void insert" + name + "(" + name + " instance);");

fileWriter.write("\n");

//update

printTab(fileWriter, 1);

fileWriter.write("public void update" + name + "(Map index);");

fileWriter.write("\n");

//delete

printTab(fileWriter, 1);

fileWriter.write("public void delete" + name + "(Map index);");

fileWriter.write("\n");

//结束

fileWriter.write("}");

} catch (Exception e) {

e.printStackTrace();

LOGGER.error(e);

}finally{

try {

if(fileWriter != null){

fileWriter.close();

}

} catch (Exception e2) {

e2.printStackTrace();

}

}

}

private static void printTab(FileWriter fileWriter, int count) throws IOException {

fileWriter.write("\n");

for(int i = 0 ; i < count; i++){

fileWriter.write("\t");

}

}

}

java怎么看dao文件_java通过实体类生成dao文件相关推荐

  1. java常用的集合对象_java常用实体类、集合类

    java常用实体类.集合类 [转自51cto博客jichangwei的BLOG] 1:String类,字符串是常量,他们的值在创建之后不能更改,可以共享. equals()用来比较两个字符串的值,== ...

  2. java 字符串转pdf文件_java中根据模板生成pdf文件

    原标题:java中根据模板生成pdf文件 阅读目录 简介 业务需求 引入jar包 pdf模板文件与方法参数 代码部分 总结归纳 回到顶部 简介 本文使用java引入apach提供的pdf操作工具生成p ...

  3. java文字转pdf格式_java根据富文本生成pdf文件

    public classPdfUtil {/** 生成pdf工具类 * wmy 12:40 2019/8/9 * @Param [guideBook, pdfPath] * @return java. ...

  4. java实体类没有映射文件_MyBatis自动生成实体类、DAO和XML映射文件,并去掉实体类中的getter和setter方法...

    今天花了3个多小时搞定了这个事情,写个Blog记录一下,先看一下最终生成的实体类吧. packagecom.mybatis.pojo;importlombok.AllArgsConstructor;i ...

  5. 实体类?Dao接口?Mapper映射文件?都别写了!!!用这种方法就可以

    大家好,我是雄雄,前两天一直在解决使用idea整合SSM的报错问题,今天,给大家带来的是如何使用插件快速生成实体类.接口以及映射文件,相信你看过本文之后对你有很大的帮助. 前言 每次我们在写代码的时候 ...

  6. mybatis反向生成实体类、dao层以及映射文件

    在做项目的时候,我们不得不写底层的一些繁琐代码,比如说实体类.dao层之类的,既浪费时间又费事,最主要的是还没效率,kuangkuangkuang的写半天终于写完了,到运行的时候dao层的代码居然还报 ...

  7. 实体类dao接口mysql_利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件...

    解决问题: 可利用MyBatis生成器自动生成实体类.DAO接口和Mapping映射文件. 测试环境准备: 新建一个mysql数据库,例如mungerzTest. 生成一张主键为自增ID的学生表: C ...

  8. dao和mysql映射_hibernate通过数据库生成实体类,映射文件和DAO(实用)

    hibernate通过数据库生成实体类,映射文件和DAO(实用) (2011-04-06 17:22:32) 标签: 杂谈 上次谈到利用MyEclipse从数据库反向生成实体类之JPA方式,这次我们来 ...

  9. 如何用MyBatis-Generator自动创建代码(映射生成实体类、DAO接口和Mapping映射文件)

    如何用MyBatis自动生成实体类.DAO接口和Mapping映射文件 引言: 什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBa ...

最新文章

  1. 与动态执行的C# 代码进行通讯
  2. sourcetree打开快捷_Sourcetree使用:拉取打开项目的步骤
  3. Spring/Spring MVC/Spring Boot自动装配机制介绍
  4. 进销存设计之——单据的数据表结构设计
  5. 实验吧web-易-what a fuck!这是什么鬼东西?
  6. AI产品开发指南:5大核心环节搞定机器学习工作流
  7. Python:使用正则去除HTML标签(转)
  8. 在ASP.NET下做了一个实验MVC的小东西,希望能得到更多的参考意见
  9. 使用winRAR脚本bat,需要的参数
  10. STM32学习——GPIO应用之按键实验
  11. macOS中修改hosts文件
  12. Sportisimo EDI项目需求及包装标准
  13. C++:endl的作用
  14. Linux就该这么学第十三节课学习心得
  15. ATF官方文档翻译(二):Authentication Framework Chain of Trust(身份验证框架和信任链)(3)
  16. 栈(Stack) C 语言实现
  17. 人脸识别技术原理及解决方案
  18. 怎么查看电脑是多少位的
  19. 到圣诞节了,不得不庆祝一下,用C++ Beep函数做了一个小程序
  20. 什么样的投影仪好,家用便携式投影仪怎么选?

热门文章

  1. python pymysql cursors_python pymysql cursor的问题
  2. mapper里面select id 后面一直红名_YTG晨晨改ID“进厂找班上了”,如此自嘲,心态还挺好...
  3. was服务器里面jar包_was8.5.5.9项目部署失败,出现mybatis的jar包异常
  4. createmutex创建的锁需要手动关闭句柄吗_你知道吗?汽车的儿童锁居然还能发挥这么大的作用!...
  5. Qt Designer中部件的tabletTracking和mouseTracking属性
  6. Android开发之线程池管理ThreadPoolExecutor和Executors.newSingleThreadExecutor()
  7. Android开发之gradle重命名aar包的写法
  8. python如何自动打印_利用Python每天自动打印练习题
  9. javascript:history.go()和history.back()的区别
  10. (效果一)js实现上拉加载