一、代码生成器
在src/test/resources资源包下创建模板文件

1.创建模版
1.1DemoMapper
package com.qcby.dao;
import com.qcby.model.Demo;
public interface DemoMapper extends BaseDao<Demo>{
}
1.2DemoService
package com.qcby.service;
import com.qcby.model.Demo;
public interface DemoService extends BaseService<Demo>{
}
1.3DemoServiceImpl
bash
package com.qcby.service.impl;
import com.qcby.dao.DemoMapper;
import com.qcby.model.Demo;
import com.qcby.service.DemoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class DemoServiceImpl extends BaseServiceImpl<Demo> implements DemoService{
private DemoMapper demoMapper;
@Autowired
public void setDemoMapper(DemoMapper demoMapper) {
this.demoMapper = demoMapper;
this.baseDao = demoMapper;
}
}
2.代码生成器执行类
java
package com.qcby.util;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
public class SourceGenerator {
public static void main(String[] args) throws Exception {
generatorSource("Album");
}
public static void generatorSource(String objName) throws Exception {
// generateQuery(objName);
generateDao(objName);
generateService(objName);
generateServiceImpl(objName);
}
// public static void generateQuery(String objName) throws Exception{
// //EbItem
// //创建文件输入流
// BufferedReader br = new BufferedReader(new FileReader("ham-core/src/test/resources/tpl/DemoQuery.tpl"));
// BufferedWriter bw = new BufferedWriter(new FileWriter("ham-core/src/main/java/cn/tx/query/"+objName+"Query.java"));
// String line = null;
// while((line = br.readLine()) != null){
// line = line.replace("Demo", objName);
// bw.write(line);
// bw.newLine();
//
// }
// bw.close();
// br.close();
// }
public static void generateDao(String objName) throws Exception {
//EbItem
//创建文件输入流
BufferedReader br = new BufferedReader(new FileReader("hamcore/src/test/resources/tpl/DemoMapper.tpl"));
BufferedWriter bw = new BufferedWriter(new FileWriter("hamcore/src/main/java/com/qcby/dao/" + objName + "Mapper.java"));
String line = null;
while ((line = br.readLine()) != null) {
line = line.replace("Demo", objName);
bw.write(line);
bw.newLine();
}
bw.close();
br.close();
}
public static void generateService(String objName) throws Exception {
//EbItem
//创建文件输入流
BufferedReader br = new BufferedReader(new FileReader("hamcore/src/test/resources/tpl/DemoService.tpl"));
BufferedWriter bw = new BufferedWriter(new FileWriter("hamcore/src/main/java/com/qcby/service/" + objName + "Service.java"));
String line = null;
while ((line = br.readLine()) != null) {
line = line.replace("Demo", objName);
bw.write(line);
bw.newLine();
}
bw.close();
br.close();
}
public static void generateServiceImpl(String objName) throws Exception {
//把传递过来的实体类的名字改成小写一份
String lowerObjName = objName.substring(0, 1).toLowerCase() + objName.substring(1, objName.length());
//EbItem
//创建文件输入流
BufferedReader br = new BufferedReader(new FileReader("hamcore/src/test/resources/tpl/DemoServiceImpl.tpl"));
BufferedWriter bw = new BufferedWriter(new FileWriter("hamcore/src/main/java/com/qcby/service/impl/" + objName + "ServiceImpl.java"));
String line = null;
while ((line = br.readLine()) != null) {
line = line.replace("Demo", objName);
line = line.replace("demo", lowerObjName);
bw.write(line);
bw.newLine();
}
bw.close();
br.close();
}
}
运行后会生成AlbumMapper,AlbumService,AlbumServiceImpl,配合逆向工程生成的Album,AlbumMapper.xml能减轻重复代码工作量
