java怎么看dao文件_java通过实体类生成dao文件
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文件相关推荐
- java常用的集合对象_java常用实体类、集合类
java常用实体类.集合类 [转自51cto博客jichangwei的BLOG] 1:String类,字符串是常量,他们的值在创建之后不能更改,可以共享. equals()用来比较两个字符串的值,== ...
- java 字符串转pdf文件_java中根据模板生成pdf文件
原标题:java中根据模板生成pdf文件 阅读目录 简介 业务需求 引入jar包 pdf模板文件与方法参数 代码部分 总结归纳 回到顶部 简介 本文使用java引入apach提供的pdf操作工具生成p ...
- java文字转pdf格式_java根据富文本生成pdf文件
public classPdfUtil {/** 生成pdf工具类 * wmy 12:40 2019/8/9 * @Param [guideBook, pdfPath] * @return java. ...
- java实体类没有映射文件_MyBatis自动生成实体类、DAO和XML映射文件,并去掉实体类中的getter和setter方法...
今天花了3个多小时搞定了这个事情,写个Blog记录一下,先看一下最终生成的实体类吧. packagecom.mybatis.pojo;importlombok.AllArgsConstructor;i ...
- 实体类?Dao接口?Mapper映射文件?都别写了!!!用这种方法就可以
大家好,我是雄雄,前两天一直在解决使用idea整合SSM的报错问题,今天,给大家带来的是如何使用插件快速生成实体类.接口以及映射文件,相信你看过本文之后对你有很大的帮助. 前言 每次我们在写代码的时候 ...
- mybatis反向生成实体类、dao层以及映射文件
在做项目的时候,我们不得不写底层的一些繁琐代码,比如说实体类.dao层之类的,既浪费时间又费事,最主要的是还没效率,kuangkuangkuang的写半天终于写完了,到运行的时候dao层的代码居然还报 ...
- 实体类dao接口mysql_利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件...
解决问题: 可利用MyBatis生成器自动生成实体类.DAO接口和Mapping映射文件. 测试环境准备: 新建一个mysql数据库,例如mungerzTest. 生成一张主键为自增ID的学生表: C ...
- dao和mysql映射_hibernate通过数据库生成实体类,映射文件和DAO(实用)
hibernate通过数据库生成实体类,映射文件和DAO(实用) (2011-04-06 17:22:32) 标签: 杂谈 上次谈到利用MyEclipse从数据库反向生成实体类之JPA方式,这次我们来 ...
- 如何用MyBatis-Generator自动创建代码(映射生成实体类、DAO接口和Mapping映射文件)
如何用MyBatis自动生成实体类.DAO接口和Mapping映射文件 引言: 什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBa ...
最新文章
- 与动态执行的C# 代码进行通讯
- sourcetree打开快捷_Sourcetree使用:拉取打开项目的步骤
- Spring/Spring MVC/Spring Boot自动装配机制介绍
- 进销存设计之——单据的数据表结构设计
- 实验吧web-易-what a fuck!这是什么鬼东西?
- AI产品开发指南:5大核心环节搞定机器学习工作流
- Python:使用正则去除HTML标签(转)
- 在ASP.NET下做了一个实验MVC的小东西,希望能得到更多的参考意见
- 使用winRAR脚本bat,需要的参数
- STM32学习——GPIO应用之按键实验
- macOS中修改hosts文件
- Sportisimo EDI项目需求及包装标准
- C++:endl的作用
- Linux就该这么学第十三节课学习心得
- ATF官方文档翻译(二):Authentication Framework Chain of Trust(身份验证框架和信任链)(3)
- 栈(Stack) C 语言实现
- 人脸识别技术原理及解决方案
- 怎么查看电脑是多少位的
- 到圣诞节了,不得不庆祝一下,用C++ Beep函数做了一个小程序
- 什么样的投影仪好,家用便携式投影仪怎么选?
热门文章
- python pymysql cursors_python pymysql cursor的问题
- mapper里面select id 后面一直红名_YTG晨晨改ID“进厂找班上了”,如此自嘲,心态还挺好...
- was服务器里面jar包_was8.5.5.9项目部署失败,出现mybatis的jar包异常
- createmutex创建的锁需要手动关闭句柄吗_你知道吗?汽车的儿童锁居然还能发挥这么大的作用!...
- Qt Designer中部件的tabletTracking和mouseTracking属性
- Android开发之线程池管理ThreadPoolExecutor和Executors.newSingleThreadExecutor()
- Android开发之gradle重命名aar包的写法
- python如何自动打印_利用Python每天自动打印练习题
- javascript:history.go()和history.back()的区别
- (效果一)js实现上拉加载