- 浏览: 741793 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (194)
- Webservice (6)
- ExtJs (2)
- Work Summary (4)
- CoreJava (51)
- Spring (10)
- EJB (5)
- struts1.x (3)
- C/C++ (5)
- DatabaseManager (19)
- Hibernate (5)
- Crytology (1)
- Web Server (5)
- Software Manager (5)
- WebUi (39)
- Web page (2)
- android (5)
- struts2 (12)
- Java 导出 Excel (1)
- Spring 与struts2 和Hibernate 4.0注解解决方安 (1)
- Dwr (1)
- maven3 (4)
- Windows (3)
- 表格头部信息不动使用Jquery 外部框架 (1)
- 软件行业动态 (1)
- mybatis (1)
- C# (3)
- MySQL (4)
最新评论
-
July01:
最近了解到一款StratoIO打印控件,功能如下:1、Html ...
LODOP插件开发 -
an52036:
u010980147 写道您的代码确实能生成条形码,但是打印出 ...
Java 条形码生成(一维条形码) -
di1984HIT:
学习了,很好~~
Ant 打包war 生成文件内容build.xml -
lhb319lhb:
如果 ajax(jquery)更新了 iframe 的 src ...
jquery 修改iframe src -
calosteward:
感谢楼主,除了一维条码,有没有相关二维码的资源呢?______ ...
Java 条形码生成(一维条形码)
package com.annotationtodaotoservice; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.logging.Logger; /** * @see 生成dao 和service 文件和文件夹 * @author liuqing * @since 2011-5-1 * @version 1.0 */ public class DaoServiceImpl { private Logger log = Logger.getLogger(DaoServiceImpl.class.getName()); private String entityDir; public static void main(String args[]) throws Exception { DaoServiceImpl dao = new DaoServiceImpl(); dao.entityDir = "D:\\cache\\entity"; dao.packageToFile("dao.impl"); dao.packageToFile("service.impl"); Map<String,List<File>> fileMap = dao.entityFileToDaoFile(); List<File> daoFile = fileMap.get("dao"); List<File> daoImplFile = fileMap.get("daoImpl"); List<File> serviceFile = fileMap.get("service"); List<File> serviceFileImpl = fileMap.get("serviceImpl"); OutputStream out = null; dao.outFileDaoAndService(daoFile,out,1); dao.outFileDaoAndService(daoImplFile,out,2); dao.outFileDaoAndService(serviceFile,out,3); dao.outFileDaoAndService(serviceFileImpl,out,4); if (out != null) { out.close(); } } public void outFileDaoAndService(List<File> files,OutputStream out,int type) throws FileNotFoundException { for (File fileName:files) { out = new FileOutputStream(fileName); this.print(out, type, fileName.getName()); } } public String toLowerFirst(String str) { if (str != null && !"".equals(str)) { char ch[] = str.toCharArray(); if (ch.length > 0) { if (ch[0] < 'a') { ch[0] = (char) (ch[0] + 32); } } return (new String(ch)); } return str; } public String toUpFirst(String str) { if (str != null && !"".equals(str)) { char ch[] = str.toCharArray(); if (ch.length > 0) { if (ch[0] > 'Z') { ch[0] = (char) (ch[0] - 32); } } return (new String(ch)); } return str; } /** * * @param out * @param typeInfo 1:为IDao 2 DaoImpl 3 IService 4 ServiceImpl */ public void print(OutputStream output,int typeInfo,String clazzName) { PrintWriter out = new PrintWriter(output); if (typeInfo == 1) { this.fileToDao(this.javaFileToClassName(clazzName), out, " com.bs.phs.dao.jkjy"); } else if (typeInfo == 2) { this.fileToDaoImpl(this.javaFileToClassName(clazzName), out, " com.bs.phs.dao.jkjy.impl"); } else if (typeInfo == 3) { this.fileToService(this.javaFileToClassName(clazzName), out, " com.bs.phs.service.jkjy"); } else { this.fileToServiceImpl(this.javaFileToClassName(clazzName), out, " com.bs.phs.service.jkjy.impl"); } out.flush(); } public void fileToDao(String clazzName,PrintWriter out,String packageInfo) { out.println("package " + packageInfo + ";"); out.println(""); // out.println("import " + packageInfo +"." + clazzName + ";"); this.toLogger(clazzName, out, packageInfo); out.println("public interface " + clazzName + " extends IBaseDao<" + this.daoService(clazzName,1) + "> {"); out.println(); out.println("}"); out.flush(); } /** * 文件头部信息日志 * @param clazzName * @param out * @param packageInfo */ public void toLogger(String clazzName,PrintWriter out,String packageInfo) { out.println(); out.println("/**"); out.println(" * @since " + packageInfo + "." + clazzName + ".java"); out.println(" * @see " + clazzName + " create datetime:" + dateToString() + ""); out.println(" * @author liuqing"); out.println(" * @version 1.0"); out.println(" */"); } public void fileToDaoImpl(String clazzName,PrintWriter out,String packageInfo) { out.println("package " + packageInfo + ";"); out.println(""); out.println("import " + packageInfo +"." + clazzName + ";"); this.toLogger(clazzName, out, packageInfo); out.println("@Repository(\"" + this.toLowerFirst(clazzName).substring(0, clazzName.length() - 4) + "\")"); out.println("public class " + clazzName + " extends BaseDaoImpl<" + this.daoService(clazzName,2) + "> implements " + "I" + this.daoService(clazzName, 2) + "Dao {"); out.println(); out.println("}"); out.flush(); } public void fileToService(String clazzName,PrintWriter out,String packageInfo) { out.println("package " + packageInfo + ";"); out.println(""); out.println("import " + packageInfo +"." + clazzName + ";"); this.toLogger(clazzName, out, packageInfo); out.println("public interface " + clazzName + " extends IBaseService<" + this.daoService(clazzName,3) + "> {"); out.println(); out.println("}"); out.flush(); } /** * UsbServiceImpl * @param clazzName * @param out * @param packageInfo */ public void fileToServiceImpl(String clazzName,PrintWriter out,String packageInfo) { out.println("package " + packageInfo + ";"); out.println(""); out.println("import " + packageInfo +"." + clazzName + ";"); this.toLogger(clazzName, out, packageInfo); out.println("@Transactional"); out.println("@Service(\"" + this.toLowerFirst(clazzName).substring(0, clazzName.length() - 4) + "\")"); out.println("public class " + clazzName + " extends BaseServiceImpl<" + this.daoService(clazzName,4) + "> implements " + "I" + this.daoService(clazzName,4) + "Service" + " {"); out.println(""); String annotationName = clazzName.substring(0, clazzName.length() - 4); out.println(""); String daoName = annotationName.substring(0, annotationName.length() - 7) + "Dao"; out.println("@Resource(name=\"" + this.toLowerFirst(daoName) + "\")"); out.println("private I" + this.toUpFirst(daoName) + " " + this.toLowerFirst(daoName) +";"); out.println(""); out.println("@Override"); out.println("public IBaseDao<" + this.toUpFirst(daoName.substring(0, daoName.length() - 3)) + "> getTargetDao() {"); out.println(" return " + this.toLowerFirst(daoName) + ";"); out.println("}"); out.println(""); out.println("}"); out.flush(); } /** * 根据文件生成 ClassName * @param inclassName * @param typeInfo 1:为IDao 2 DaoImpl 3 IService 4 ServiceImpl * @return */ public String daoService(String inclassName,int typeInfo) { int classLength = inclassName.length(); if (typeInfo == 1) { return inclassName.substring(1, classLength - 3); } else if (typeInfo == 2){ return inclassName.substring(0, classLength - 7); } else if (typeInfo == 3){ return inclassName.substring(1, classLength - 7); } else { return inclassName.substring(0, classLength - 11); } } /** * 找到entityFile * @param covertDao * @param packageInfo * @throws FileNotFoundException */ public File[] entityFileDir () throws FileNotFoundException { List<File> files = new ArrayList<File>(); File entityDirInfo = new File(entityDir); //新生成File类型 File[] newFiles = new File[]{}; File[] entityFiles = entityDirInfo.listFiles(); entityDirInfo.mkdirs(); for (File f:entityFiles) { if (f.getName().endsWith(".java")) { files.add(f); //System.out.println("---" + f.getName()); } } return files.toArray(newFiles); } /** * 通过实体文件生成dao 和 service 文件 * @param entityDir * @param typeInfo */ public Map<String,List<File>> entityFileToDaoFile() throws FileNotFoundException { Map<String,List<File>> fileMap = new HashMap<String,List<File>>(); List<File> dao = new ArrayList<File>(); List<File> daoImpl = new ArrayList<File>(); List<File> service = new ArrayList<File>(); List<File> serviceImpl = new ArrayList<File>(); File[] entityFiles = this.entityFileDir(); for (File enFile:entityFiles) { int pos = enFile.getName().indexOf("."); String fileName = enFile.getName(); String daoFileName = "I" + fileName.substring(0, pos) + "Dao.java"; String daoImplFileName = fileName.substring(0, pos) + "DaoImpl.java"; dao.add(new File(this.basePath() + File.separator + "dao" + File.separator + daoFileName)); daoImpl.add(new File(this.basePath() + File.separator + "dao" + File.separator + "impl" + File.separator + daoImplFileName)); String serviceFileName = "I" + fileName.substring(0, pos) + "Service.java"; String serviceImplFileName = fileName.substring(0, pos) + "ServiceImpl.java"; service.add(new File(this.basePath() + "" + File.separator + "service" + File.separator +serviceFileName)); serviceImpl.add(new File(this.basePath() + File.separator + "service" + File.separator + "impl" + File.separator + serviceImplFileName)); } fileMap.put("dao", dao); fileMap.put("daoImpl", daoImpl); fileMap.put("service", service); fileMap.put("serviceImpl", serviceImpl); return fileMap; } /** * 返加文件夹操作权限 * @param directoryFile * @param packageInfo 创建文件夹 * @return File */ public File packageToFile(String packageInfo) { StringBuffer strBuff = new StringBuffer(basePath()); strBuff.append(File.separator + packageInfo.replace(".", File.separator)); File file = new File(strBuff.toString()); file.mkdirs(); return file; } /** * 基础信息 * @return String */ public String basePath(){ int i = this.entityDir.lastIndexOf(File.separator); System.out.println(""); System.out.println(this.entityDir.substring(0, i)); String basePath = this.entityDir.substring(0, i); log.info(basePath); return basePath; } public String javaFileToClassName(String javaFileName) { int i = javaFileName.indexOf("."); return javaFileName.substring(0, i); } public String dateToString() { SimpleDateFormat simp = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); return simp.format(new Date()); } public String getEntityDir() { return entityDir; } public void setEntityDir(String entityDir) { this.entityDir = entityDir; } }
spring2.5之前片本
package com.annotationtodaotoservice; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; /** * @see 生成Spring bean 文件 * @author liuqing */ public class SpringBeanFileImpl extends DaoServiceImpl { private String packeInformation; private String outFilePath; public static void main(String args[]) throws FileNotFoundException { SpringBeanFileImpl imp = new SpringBeanFileImpl("com.hd.digitalxcampus","f:\\beaninfo"); imp.setEntityDir("E:\\liuqing\\workspace\\phs\\workspace\\phs\\src\\com\bs\\phs\\domain\\report"); imp.toSpringBeanFile(); } public SpringBeanFileImpl() { } public SpringBeanFileImpl(String packeInformation, String outFilePath) { this.packeInformation = packeInformation; this.outFilePath = outFilePath; } public void toSpringBeanFile() throws FileNotFoundException { System.out.println("---" + this.outFilePath); OutputStream outputDao = new FileOutputStream(this.outFilePath + File.separator + "spring-dao.xml"); OutputStream outputService = new FileOutputStream(this.outFilePath + File.separator + "spring-service.xml"); PrintWriter outDao = new PrintWriter(outputDao); PrintWriter outService = new PrintWriter(outputService); for (String clazzName:this.getClazzName()) { bean(clazzName,outDao,outService); } if (outputDao != null) { try { outputDao.close(); } catch (IOException ex) { } } if (outputService != null) { try { outputService.close(); } catch (IOException ex) { } } } public List<String> getClazzName() throws FileNotFoundException { List<String> classNames = new ArrayList<String>(); File entityFiles[] = this.entityFileDir(); for (File en:entityFiles) { classNames.add(this.javaFileToClassName(en.getName())); } return classNames; } public void bean(String clazzName,PrintWriter outDao ,PrintWriter serviceDao) { this.toIdInfo(clazzName, 1); outDao.println("<bean id=\"" + this.firstLower(clazzName) + "Dao" + "\" parent=\"adminInfoDao\" class=\"" + this.daoClassName(clazzName) + "\"> "); outDao.println("</bean>"); serviceDao.println("<bean id=\"" + this.firstLower(clazzName) + "Service" + "\" class=\"" + this.serviceClassName(clazzName) + "\"> "); // <property name="baseDao" ref="foodTypeDao" /> serviceDao.println(" <property name=\"baseDao\" ref=\"" + this.firstLower(clazzName) + "Dao" + "\" />"); serviceDao.println("</bean>"); outDao.flush(); serviceDao.flush(); } /** * * @param clazzName * @param type 1: dao; 2: service; * @return */ public String toIdInfo(String clazzName,int type) { if (type == 1) { return this.packeInformation + ".dao.impl." + clazzName + "DaoImpl"; } else if (type == 2) { return this.packeInformation + ".service.impl." + clazzName + "ServiceImpl"; } else { return null; } } /** * * @param clazzName * @return */ public String daoClassName(String clazzName) { return this.toIdInfo(clazzName, 1); } /** * * @param clazzName * @return */ public String serviceClassName(String clazzName) { return this.toIdInfo(clazzName, 2); } /** * * @param clazzName * @return String */ public String firstLower(String clazzName) { char ch[] = clazzName.toCharArray(); if (ch[0] <= ((char)'z') && ch[0] >= ((char)'A')) { ch[0] = (char)(ch[0] + 32); } return new String(ch); } public String getPackeInformation() { return packeInformation; } public void setPackeInformation(String packeInformation) { this.packeInformation = packeInformation; } public String getOutFilePath() { return outFilePath; } public void setOutFilePath(String outFilePath) { this.outFilePath = outFilePath; } }
发表评论
-
Spring mvc Token
2015-08-03 19:40 1014request.getSession(false).s ... -
Spring 与struts2 和Hibernate 4.0 + Dwr 注解解决方安
2011-12-11 17:39 36721. web.xml 注册文件 < ... -
Spring jdbc 操作存储过程
2011-07-26 14:14 3903首先我们要用Spring 与 Jdbc 调用存储过程 ... -
Spring 调用jndi 数据源 struts + hibernate + spring 整合
2011-06-15 17:29 1708<?xml version="1.0" ... -
SpringSecurity 2中文文档
2011-05-26 10:46 1107有不少同事在问spring security 2 有没有中文的 ... -
Spring3.0 Struts2 Hibernate 开发精华
2010-11-29 17:20 15921. 自动添加事务管理应用声明性事务 2. 直接引用hibe ... -
Spring 自动事务管理配置文件
2010-11-29 17:16 1834/* * To change this templat ... -
acegi web.xml
2010-10-24 23:14 1174<?xml version="1.0&q ... -
在web.xml 文件下添加 OpenEntityManagerInViewFilter
2010-06-17 13:35 3614错误原因 13:34:34,859 ERROR LazyIni ...
相关推荐
这些工具可以通过配置XML或YAML文件定义模板,然后根据数据库的表结构自动生成对应的DAO和Service类。 以MyBatis Generator为例,开发者首先需要配置generatorConfig.xml文件,指定数据库连接信息、表名以及需要...
该插件支持MyBatis,意味着它可以自动生成对应于数据库表的DAO接口和实现类,包括方法签名和SQL映射文件。 2. Service层:Service层是业务逻辑的载体,它调用DAO层的方法来完成实际的数据操作。插件能够生成服务...
本项目“Spring Boot Mybatis 自动生成Entity,controller、serviceImpl,Dao”正是这样一个工具,旨在提升开发效率。 1. **Spring Boot**: Spring Boot是Spring框架的一个扩展,旨在简化Spring应用的初始搭建...
在使用时,开发者可能需要配置数据库连接信息、实体类、表名等参数,然后工具就会根据预设的模板生成相应的Action、Service和DAO代码。这些代码通常会包含基本的CRUD(创建、读取、更新、删除)操作,也可以通过扩展...
开发者可以创建模板文件,定义类的结构和内容,然后Freemarker会根据提供的数据模型填充这些模板,生成最终的Java源代码。 2. **DTO(Data Transfer Object)**: DTO是一种设计模式,用于在不同系统或层之间传递...
生成struts2 dwr spring 配置文件和数据操作类(com.comm 中BaseDao) idao层 dao层的实现类 Service 层和IService层 总的情况为 src 下有 com.comm BaseDao com.idao pojo所在的类的接口 com.daoimlp pojo所在...
生成Service文件时,代码生成器会创建Service接口和实现类,定义业务方法,并可能包含事务控制、异常处理等通用逻辑。这样,开发者可以直接专注于业务逻辑的实现,而不是重复的框架代码。 三、xuecheng-plus-...
为了提高开发效率,程序员经常需要处理大量的实体类(Entity),包括POJO(Plain Old Java Object)、DAO(Data Access Object)以及对应的Service层。手动创建这些类可能会消耗大量时间,因此,"create-...
Spring-generator 是基于 javafx8 开发的图形界面 Spring 代码生成器,使用 Apache FreeMarker 作为代码文件的模板,用户可以一键将数据库中的表生成为任意风格的 .java 代码文件(比如经典的三层模型)。 Spring-...
3. 设定生成代码的模板,例如Service接口、实现类、Dao接口、Mapper XML文件以及Model类的格式。 4. 运行代码生成工具,生成的代码会被保存到指定的项目目录下。 5. 将生成的代码导入到项目中,根据业务需求进行适当...
- 编写数据模型,包括实体类和数据库表信息。 - 使用Java代码调用FreeMarker API,将数据模型传递给模板。 - FreeMarker解析模板并生成对应的Java代码或XML文件。 - 将生成的文件引入项目,编译并运行。 通过以上...
首先,我们来看"mybatis-plus反向工程 自动生成3层架构的文件controller,service,dao,mapper.zip"这个标题,这表明我们有一个压缩包,其中包含了使用MyBatis-Plus反向工程功能生成的代码。反向工程通常涉及到以下...
在报表生成过程中,Spring可以管理Struts2中的Action实例,负责数据访问对象(DAO)与业务服务对象(Service)的创建和生命周期,确保事务的一致性。此外,Spring还提供了数据访问抽象层,如JdbcTemplate或...
生成的代码包括但不限于:Controller、Service、ServiceImpl、DAO、Mapper接口和XML配置文件,以及对应的Entity(Bean)类。 总的来说,Spring MVC Ibatis Bean 根据mysql数据表的代码生成工具是提升开发效率、降低...
1. **MyBatis Generator**:这是一款强大的MyBatis代码生成工具,可以生成DAO层和Mapper XML文件,以及实体类和Mapper接口。 2. **JHipster**:这是一个全面的Spring Boot应用生成器,不仅可以生成服务层和DAO层...
最后,为了在服务层(Service)中使用DAO,需要配置Service类和相应的bean。Service类通常包含业务逻辑,调用DAO来完成数据操作。例如UserService类,它会注入UserRepository并提供业务方法。 ```java @Service ...
总结来说,"mvc代码自动生成"是通过工具自动化创建Java Spring MVC应用中的DAO、Service和Controller代码,提高开发效率。结合使用Eclipse这样的IDE和代码生成器,开发者能够更快地搭建起符合MVC架构的Web应用,并且...
代码一键自动生成工具 可生成Action、JavaBean实体类、Dao及实现类、service及实现类、spring.xml、struts.xml、mybatis.xml *该工具目前支持3种数据源的生成方式,分别是:JDBC、.table、PDM *JDBC:选择JDBC是只...
在Java开发领域,高效能和快速迭代是开发者追求的目标之一...在实际开发中,类似的代码生成工具还有MyBatis的Mapper和Service生成,以及各类ORM框架提供的代码生成插件,它们都在不同程度上帮助开发者提升了开发效率。
Generator,通常指的是MyBatis Generator,它是MyBatis提供的一个代码生成工具,可以从数据库表中自动生成对应的Java实体类、DAO接口、Mapper XML映射文件以及Service层接口和服务实现。通过配置Generator的XML文件...