`
yinbinhome
  • 浏览: 123704 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

ibator增强工具类V8.0

阅读更多

由于ibator逆向生成的只有VO和DAO,没有SERVICE,这个工具可以生成service,并且把insert方法更改为,返回插入数据的id(使用oracle)

 

package test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;






/**
 * 增加自动写入application-Context.xml功能,把生成的dao与service对应的spring配置文件写入里面
 * @Description: ibator补丁工具,生成Manager类,替换xml,java里的Date数据类型 
 * @author: 尹滨 
 * @E-mail: yinbinhome@163.com
 * @date 2011-3-7 上午09:55:26
 * @version 4.0
 * 
 */
public class IbatorConfig {


	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String path_dao="D:\\workspace\\rcportalTEST\\src\\com\\rc\\portal\\dao\\impl";
		String path_sqlmap="D:\\workspace\\rcportalTEST\\src\\com\\rc\\portal\\vo\\sqlmap";
		String path_vo="D:\\workspace\\rcportalTEST\\src\\com\\rc\\portal\\vo";
		String path_service="D:\\workspace\\rcportalTEST\\src\\com\\rc\\portal\\service\\impl";
		String path_app_dao="D:\\workspace\\rcportalTEST\\conf_spring\\applicationContext-dao.xml";
		String path_app_service="D:\\workspace\\rcportalTEST\\conf_spring\\applicationContext-service.xml";

		
		new IbatorConfig().readyGO(path_dao,path_sqlmap,path_vo,path_service,path_app_dao,path_app_service);	
//		new CopyOfIbatorConfig2().appendMethodB("D:/123.txt","123");
	}

	public void readyGO(String daopath,String sqlpath,String vopath,String serivepath,String app_dao,String app_service){
		start(daopath,sqlpath,vopath,serivepath,app_dao,app_service);
		moveDAO(daopath);
	} 
	
	
	public void start(String daopath,String sqlpath,String vopath,String serivepath,String app_dao,String app_service){
		System.out.println("处理dao......");
		startDo(daopath);
		System.out.println("处理sqlmap......");
		startDo(sqlpath);
		System.out.println("处理vo......");
		startDo(vopath);
		System.out.println("移动dao......");
		startDo2(daopath,serivepath,app_dao,app_service);
	}
    /**
     * 按目录查找文件,
     * 1.换文件中的指定字符串
     * 2.生成Manager接口
     * 3.生成ManagerImpl类
     */
    public void startDo(String path){
    	File file=new File(path);
    	File[] files = file.listFiles();
    	int i=0;
    	//System.out.println("文件路径:"+path);
    	if(files!=null && files.length>0){
	    	for(File f:files){
	    		//System.out.print("\n第 "+(++i)+" 个文件");
	    		String filename=f.getName();
	    		if(filename.toLowerCase().indexOf("_sqlmap.xml")>0){	    			
	    			System.out.println("替换sqlMap.xml里时间类型......");
		    		String fileALLname=f.getPath();
		    		readFileByLines(fileALLname,"DATE","TIMESTAMP");		    		
	    		}else if(filename.toLowerCase().indexOf("example.java")>0){
	    			System.out.println("替换Example.java文件里的java.sql.Date时间类型为java.util.Date......");
		    		String fileALLname=f.getPath();
		    		readFileByLines(fileALLname,"java.sql.Date","Date");
	    		}else if(filename.toLowerCase().indexOf("daoimpl.java")>0){
	    			System.out.println("增加daoImpl里的sqlMapClient的setter,getter方法......");
		    		String fileALLname=f.getPath();
		    		chgDAOImpl(fileALLname);
	    		}else if(filename.toLowerCase().indexOf("dao.java")>0){
	    			String fileALLname=f.getPath();
	    			readFileByLines(fileALLname,"void insert","Long insert");
	    			System.out.println("生成Manager.java接口,并移动到ManagerImpl目录......");
		    		addManager(f);
		    		System.out.println("生成ManagerImple.java......");
		    		File f1=new File(f.getPath());
		    		newManagerImpl(f1);
	    		}
	    	}
    	}
    }	
	
    /**
     * 往application.xml里追加dao与service的bean
     * @param dao_path dao的文件夹
     * @param service_path sevice文件夹
     * @param app_dao_path application-dao.xml 全路径
     * @param app_service_path application-service.xml 全路径
     */
    public void startDo2(String dao_path,String service_path,String app_dao_path,String app_service_path){
    	File file=new File(dao_path);
    	File[] files = file.listFiles();
    	int i=0;
    	//System.out.println("文件路径:"+dao_path);
    	if(files!=null && files.length>0){
	    	for(File f:files){
	    		//System.out.print("\n第 "+(++i)+" 个文件");
	    		String filename=f.getName();
	    		if(filename.toLowerCase().indexOf("daoimpl.java")>0){
	    			//System.out.println("开始生成dao的bean......");
		    		String fileALLname=f.getPath();
		    		String daobean=getDaoBean(fileALLname);
		    		daobean+="\n";
		    		daobean+="</beans>";
		    		readFileByLines(app_dao_path,"</beans>",daobean);
	    		}
	    	}
    	}
    	File file2=new File(service_path);
    	File[] files2 = file2.listFiles();
    	int i2=0;
    	//System.out.println("文件路径:"+service_path);
    	if(files2!=null && files2.length>0){
	    	for(File f:files2){
	    		//System.out.print("\n第 "+(++i2)+" 个文件");
	    		String filename=f.getName();
	    		if(filename.toLowerCase().indexOf("managerimpl.java")>0){
	    			//System.out.println("开始生成service的bean......");
		    		String fileALLname=f.getPath();
		    		String servicebean=getServiceBean(fileALLname);
		    		servicebean+="\n";
		    		servicebean+="</beans>";
		    		readFileByLines(app_service_path,"</beans>",servicebean);
	    		}
	    	}
    	}
    }
    
    
    
	/**
     * 按行读取,替换指定字符串
     */
    public  void readFileByLines(String fileName,String oldstring,String newstring) {
        File file = new File(fileName);       
        BufferedReader reader = null;
        StringBuffer sb=new StringBuffer("");
        try {            
            reader = new BufferedReader(new FileReader(file));
            String tempString = null;
            int line = 1;
            // 一次读入一行,直到读入null为文件结束
            while ((tempString = reader.readLine()) != null) {
                line++;
                String temp=tempString.replace(oldstring, newstring);
                String insert="<insert id=";
                if(temp.indexOf(insert)>-1){
                  	String i1="	<selectKey resultClass=\"java.lang.Long\" keyProperty=\"id\" type=\"pre\">\n";
                  	String i2="		SELECT your_sequences.NEXTVAL AS id FROM DUAL\n"; 
                  	String i3="	</selectKey>\n";
                  	temp+="\n"+i1+i2+i3;
                }
                sb.append(temp+"\n");
                
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e1) {
                }
            }
        }
        ////System.out.println(sb);
        appendMethodB(fileName,sb.toString());
    }

    /**
     * 按给定内容,更新文件内容
     */
    public  void appendMethodB(String fileName, String content) {
        try {
            //打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件
            FileWriter writer = new FileWriter(fileName, false);
            writer.write(content);
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    

    
    /**
     * 更新DAO为SqlMapClient增加setter getter
     * @param fileName
     */
    public void chgDAOImpl(String fileName){
    	
        File file = new File(fileName);       
        BufferedReader reader = null;
        StringBuffer sb=new StringBuffer("");
        
        String daoname=file.getName();
    	int s1=daoname.indexOf(".");
    	daoname=daoname.substring(0,s1);
    	
        try {            
            reader = new BufferedReader(new FileReader(file));
            String tempString = null;
            int line = 1;
            // 一次读入一行,直到读入null为文件结束
            while ((tempString = reader.readLine()) != null) {
                line++;
                if(tempString.toLowerCase().indexOf("private sqlmapclient sqlmapclient;")>0){                	
                	sb.append(tempString+"\n\n");
                	sb.append("    public void setSqlMapClient(SqlMapClient sqlMapClient) {\n"+
							  "        this.sqlMapClient = sqlMapClient;\n"+
							  "    }\n\n"+							
							  "    public SqlMapClient getSqlMapClient() {\n"+
							  "        return sqlMapClient;\n"+
							  "    }\n");  
                    sb.append("    public "+daoname+"() {\n");
                    sb.append("        super();\n");
                    sb.append("    }\n");                	
                }else if(tempString.toLowerCase().indexOf("public void insert")>0){
                	tempString=tempString.replace("void", "Long");
                	sb.append(tempString+"\n");
                }else if(tempString.toLowerCase().indexOf("sqlmapclient.insert")>0){
                	tempString="		return (Long)"+tempString;
                	sb.append(tempString+"\n");
                }else{
                	sb.append(tempString+"\n");
                }
                
                
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e1) {
                }
            }
        }
        ////System.out.println(sb);
        appendMethodB(fileName,sb.toString());
    }
    
    /**
     * 增加Manager接口
     * @param fileIn
     */
    public void addManager(File fileIn){    	    	   
        BufferedReader reader = null;
        StringBuffer sb=new StringBuffer("");
        try {            
            reader = new BufferedReader(new FileReader(fileIn));
            String tempString = null;
            int line = 1;
            // 一次读入一行,直到读入null为文件结束
            while ((tempString = reader.readLine()) != null) {
                line++;
                if(tempString.indexOf("interface")>0 && tempString.indexOf("DAO")>0){
                	String temp=tempString.replace("DAO", "Manager");
                    sb.append(temp+"\n");
                }else if(tempString.indexOf("package")!=-1){
                	String temp=tempString.replace("dao.impl", "service");
                	sb.append(temp+"\n");
                }else{	                
	                sb.append(tempString+"\n");
                }
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e1) {
                }
            }
        }
        ////System.out.println(sb);
        String name=fileIn.getName().replace("DAO", "Manager");
        String newFilename=fileIn.getParent().replace("dao\\impl", "service")+"\\"+name;
        appendMethodB(newFilename,sb.toString());
    }
    
    /**
     * 更改DAO的名字
     * @param name
     * @return
     */
    public String chgName(String name){
//    	String firstC=name.substring(0, 1).toLowerCase();
//    	String otherC=name.substring(1);
    	return name.toLowerCase();
    }
    
    /**
     * 第一个字母大写
     * @param word
     * @return
     */
    private String firstWordToUpper(String word) {
    	   String first = word.substring(0, 1);
    	   return first.toUpperCase() + word.substring(1);
    }
    
    /**
     * 在manager里增加dao的setter和getter
     * setter  getter
     * @param name
     */
    public String getset(String name){
    	StringBuffer sb=new StringBuffer("");
    	sb.append("    public void  set"+firstWordToUpper(chgName(name))+"("+name+" "+chgName(name)+"){\n");
    	sb.append("        this."+chgName(name)+"="+chgName(name)+";\n");
    	sb.append("    }\n");
    	
    	sb.append("    public "+name+" get"+firstWordToUpper(chgName(name))+"(){\n");
    	sb.append("        return this."+chgName(name)+";\n");
    	sb.append("    }\n");
    	return sb.toString();
    }
    
    
    /**
     * 取方法名
     * @param ss
     * @return
     */
    public String getMethodName(String ss){
    	int s1=ss.indexOf("(");
    	String temp=ss.substring(0,s1);
		int s2=temp.lastIndexOf(" ");
		
		return (ss.substring(s2,s1));
    }
    
    /**
     * 得到变量名字的串
     * @param line
     * @return
     */
    public String getParam(String line){
    	int s1=line.indexOf("(");
		int s2=line.indexOf(")");
		String params=line.substring(s1+1,s2);
		String p1="";
		String p2="";
		String paramStr="";
		if(params.indexOf(",")>0){
			int s3=params.indexOf(" ");
			int s4=params.indexOf(",");
			int s5=params.lastIndexOf(" ");			
			p1=params.substring(s3,s4);
			p2=params.substring(s5);
			paramStr="("+p1+","+p2+")";
		}else{
			int s6=params.lastIndexOf(" ");			
			p1=params.substring(s6);
			paramStr="("+p1+")";
		}
    	return paramStr;
    }
    
    /**
     * 更具接口方法声明生成方法体
     * @param line
     * @param daoName
     * @return
     */
    public String getMethod(String line,String daoName){
    	String methodname=getMethodName(line);
    	StringBuffer sb=new StringBuffer("");
    	if(line.indexOf("SQLException;")>0  && line.indexOf("import")<0){    		
		    	if(line.indexOf("void")>0 && line.indexOf(";")>0){
		    		String temp=line.replace(";", "{\n");
		    		sb.append("    public "+temp);    		
		    		sb.append("        "+chgName(daoName)+"."+methodname+getParam(line)+";\n");
		    		sb.append("    }\n\r");
		    	}else{
		    		String temp=line.replace(";", "{\n");
		    		sb.append("    public "+temp);    		
		    		sb.append("        return "+chgName(daoName)+"."+methodname+getParam(line)+";\n");
		    		sb.append("    }\n\r");
		    	}
    	}
    	return sb.toString();
    	
    }
    
    
    /**
     * 传入DAO接口的File,生成ManagerImpl
     * @param file 
     */
    public void newManagerImpl(File file){
    	String oldname=file.getName();
    	int s1=oldname.indexOf(".");
    	oldname=oldname.substring(0,s1);
    	String name=oldname.replace("DAO", "ManagerImpl");
    	String filename=file.getParent().replace("dao", "service")+"\\"+name+".java";
    	file.getName();
    	    	
        BufferedReader reader = null;
        StringBuffer sb=new StringBuffer("");
        try {            
            reader = new BufferedReader(new FileReader(file));
            String tempString = null;
            int line = 1;
            // 一次读入一行,直到读入null为文件结束
            while ((tempString = reader.readLine()) != null) {
                line++;
                if(tempString.indexOf("interface")>0){
                	sb.append("");
                	String temp=tempString.replace("interface", "class");
                	temp=temp.replace(oldname, name);
                	temp=temp.replace("{", "");
                	temp=temp+" implements "+oldname.replace("DAO", "Manager")+" {\n";
                    sb.append(temp);
                    
                    sb.append("\n");
                    sb.append("    private "+oldname+" "+chgName(oldname)+";\n\n");
                    sb.append("    public "+name+"() {\n");
                    sb.append("        super();\n");
                    sb.append("    }\n");
                    sb.append(getset(oldname));
                }else if(tempString.indexOf("SQLException;")>0 && tempString.indexOf("import")<0){
                	String methodBody=getMethod(tempString,oldname);
                	sb.append(methodBody);                
                }else if(tempString.indexOf("package")!=-1){
                	String tempIMP=tempString.replace("package", "import");
                	tempIMP=tempIMP.replace("dao.impl", "dao");
                	tempIMP=tempIMP.replace(";", ".")+oldname+";\n";
                	
                	String tempmanager=tempString.replace("package", "import");
                	tempmanager=tempmanager.replace("dao", "service");
                	String managername=name.substring(0,name.indexOf("Impl"));
                	tempmanager=tempmanager.replace("impl", managername);
                	
                	String temp=tempString.replace("dao", "service");
                	sb.append(temp+"\n\n");
                	sb.append(tempIMP);                	
                	sb.append(tempmanager);
                }else{
                	sb.append(tempString+"\n");
                }                
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e1) {
                }
            }
        }       
        appendMethodB(filename,sb.toString());
    }
    
    
    public void addSpringDao(String filename){
    	
    }
    
    
    public String getDaoModel(){
    	String daoM=
    		    "    <bean id=\"#id#\" class=\"#classname#\">\n"+
    			"        <property name=\"sqlMapClient\" ref=\"sqlMapClient\" />\n"+
    			"    </bean>\n";
    	return daoM;
    }
    
    public String getServiceModel(){
    	String serviceM=
		    "    <bean id=\"#id#\" class=\"#classname#\">\n"+
			"        <property name=\"#daoname#\" ref=\"#daoref#\" />\n"+
			"    </bean>\n";
    	return serviceM;
    }
    
    
    /**
     * 取类得全路径名,dao属性名
     * @param fileName
     * @param oldstring
     * @param newstring
     */
    public  Map getDaoAllName(String fileName) {
    	String daoname="";
    	//String name="";
    	Map<String,String> map=new HashMap<String,String>();
        File file = new File(fileName);       
        BufferedReader reader = null;
        StringBuffer sb=new StringBuffer("");
        try {            
            reader = new BufferedReader(new FileReader(file));
            String tempString = null;
            int line = 1;
            // 一次读入一行,直到读入null为文件结束
            while ((tempString = reader.readLine()) != null) {
                line++;
                if(tempString.indexOf("package")!=-1){
                	daoname=tempString.substring(tempString.indexOf("package")+7,tempString.indexOf(";")).trim()+".";
                }else if(tempString.indexOf("public class")!=-1){
                	daoname+=tempString.substring(tempString.indexOf("public class")+12,tempString.indexOf("implements")).trim();
                }
                
                
                
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e1) {
                }
            }
        }
        String oldname=file.getName();
    	int s1=oldname.indexOf(".");
    	oldname=oldname.substring(0,s1);
    	String daoAttrname=this.chgName(oldname);
    	daoAttrname=daoAttrname.substring(0,daoAttrname.indexOf("impl"));
    	map.put("daoname", daoname);
    	map.put("daoAttrname", daoAttrname);
        return map;
    }
    
    /**
     * 取service类全路径名和dao属性的名字
     * @param fileName
     * @return
     */
    public  Map getServiceAllName(String fileName) {
    	String servicename="";
    	String daoname="";
    	Map<String,String> map=new HashMap<String,String>();
        File file = new File(fileName);       
        BufferedReader reader = null;
        StringBuffer sb=new StringBuffer("");
        try {            
            reader = new BufferedReader(new FileReader(file));
            String tempString = null;
            int line = 1;
            // 一次读入一行,直到读入null为文件结束
            while ((tempString = reader.readLine()) != null) {
                line++;
                if(tempString.indexOf("package")!=-1){
                	servicename=tempString.substring(tempString.indexOf("package")+7,tempString.indexOf(";")).trim()+".";
                }else if(tempString.indexOf("public class")!=-1){
                	servicename+=tempString.substring(tempString.indexOf("public class")+12,tempString.indexOf("implements")).trim();
                }else if(tempString.indexOf("private")>0 && tempString.indexOf("DAO")>0){
                	daoname=tempString.substring(tempString.indexOf("DAO ")+4,tempString.indexOf(";")).trim();
                }
                String temp=tempString;
                
                
            }
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e1) {
                }
            }
        }
        
        String oldname=file.getName();
    	int s1=oldname.indexOf(".");
    	oldname=oldname.substring(0,s1);
    	String serviceAttrname=this.chgName(oldname);
    	serviceAttrname=serviceAttrname.substring(0,serviceAttrname.indexOf("impl"));
        map.put("servicename", servicename);
        map.put("daoname", daoname);
        map.put("serviceAttrname", serviceAttrname);
        return map;
    }

    
    /**
     * 生成dao bean
     * @param filename
     * @return
     */
    public String getDaoBean(String filename){
    	Map<String,String> map=getDaoAllName(filename);
    	String daoname=map.get("daoname");
    	String daoAttrname=map.get("daoAttrname");
    	String daobean=getDaoModel();    	
    	daobean=daobean.replace("#classname#", daoname);
    	daobean=daobean.replace("#id#", chgName(daoAttrname));
    	return daobean;
    }
    
    /**
     * 生成service bean
     * @param filename
     * @return
     */
    public String getServiceBean(String filename){
    	Map<String,String> map=getServiceAllName(filename);
    	String servicename=map.get("servicename");
    	String daoname=map.get("daoname");
    	String serviceAttrname=map.get("serviceAttrname");
    	String servicebean=getServiceModel();
    	servicebean=servicebean.replace("#classname#", servicename);
    	servicebean=servicebean.replace("#id#", serviceAttrname);
    	servicebean=servicebean.replace("#daoname#", chgName(daoname));
    	servicebean=servicebean.replace("#daoref#", chgName(daoname));
    	return servicebean;
    }
    
    
    public void moveDAO(String path){
    	System.out.println("移动DAO接口到DAOImpl目录......");
    	File file=new File(path);
    	File[] files = file.listFiles();
    	int i=0;
    	//System.out.println("文件路径:"+path);
    	if(files!=null && files.length>0){
	    	for(File f:files){
	    		
	    		String filename=f.getName();
	    		if(filename.toLowerCase().indexOf("daoimpl.java")>0){
	    			String newDaoname=filename.replace("Impl.java", ".java");
	    			BufferedReader reader = null;
	    	        StringBuffer sb=new StringBuffer("");
	    	        try {            
	    	            reader = new BufferedReader(new FileReader(f.getPath()));
	    	            String tempString = null;
	    	            int line = 1;
	    	            // 一次读入一行,直到读入null为文件结束
	    	            while ((tempString = reader.readLine()) != null) {
	    	                line++;
	    	                if(tempString.indexOf("package")!=-1){
	    	                	String temp=tempString.replace("package", "import");
	    	                	temp=temp.replace("dao.impl;", "dao.")+newDaoname.replace(".java", ";");
	    	                	sb.append(tempString+"\n\n");
	    	                    sb.append(temp);
	    	                }else{	                
	    		                sb.append(tempString+"\n");
	    	                }
	    	            }
	    	            reader.close();
	    	        } catch (IOException e) {
	    	            e.printStackTrace();
	    	        } finally {
	    	            if (reader != null) {
	    	                try {
	    	                    reader.close();
	    	                } catch (IOException e1) {
	    	                }
	    	            }
	    	        }
	    	        
	    	        appendMethodB(f.getPath(),sb.toString());
	    	        
	    		}else if(filename.toLowerCase().indexOf("dao.java")>0){
	    			BufferedReader reader = null;
	    	        StringBuffer sb=new StringBuffer("");
	    			try {            
	    	            reader = new BufferedReader(new FileReader(f.getPath()));
	    	            String tempString = null;
	    	            int line = 1;
	    	            // 一次读入一行,直到读入null为文件结束
	    	            while ((tempString = reader.readLine()) != null) {
	    	                line++;     
	    	                if(tempString.indexOf("package")!=-1){
	    	                	tempString=tempString.replace("dao.impl", "dao");
	    	                	sb.append(tempString);
	    	                }else{
	    	                	sb.append(tempString+"\n");
	    	                }
	    	            }
	    	            reader.close();
	    	        } catch (IOException e) {
	    	            e.printStackTrace();
	    	        } finally {
	    	            if (reader != null) {
	    	                try {
	    	                    reader.close();
	    	                } catch (IOException e1) {
	    	                }
	    	            }
	    	        }
	    	        
	    	        appendMethodB(f.getPath().replace("dao\\impl", "dao"),sb.toString());
	    	        f.delete();
	    		}
	    	}
    	}
    }
}

 

分享到:
评论

相关推荐

    iBATOR-V1.1.0

    iBATOR,全称为"IBATIS Auto Table Access Toolkit Generator",是针对iBATIS数据库持久层框架的一个代码生成工具。它的主要功能是自动生成与数据库表相关的Java代码,包括实体类、Mapper接口和XML配置文件,极大地...

    为 Ibatis 2.3.4 构建增强的 Apache Ibator 实体类生成工具

    Ibator is a code generator for iBATIS. Ibator will introspect a database table (or many tables) and will generate iBATIS artifacts that can be used to access the table(s). This abates some of the ...

    ibator1.2.1

    Ibator是MyBatis的自动化工具,它能够根据数据库表结构自动生成Java实体类、Mapper接口及XML配置文件等,从而快速构建基于Ibatis的数据访问层。Ibator 1.2.1是其一个稳定版本,包含了多项改进和优化,使得代码生成...

    ibator1.2.1配置文件

    标题中的"ibator1.2.1配置文件"指的是基于Apache Ibator的1.2.1版本的配置文件,这是一个用于简化MyBatis框架中DAO层(数据访问对象)开发的工具。Ibator是iBATIS(现在已经演变为MyBatis)的一个扩展,它能够根据...

    ibatis自动生成工具ibator及配置文件示例

    标题 "ibatis自动生成工具ibator及配置文件示例" 提到的是关于iBatis的自动化工具ibator的使用和配置。iBatis是一个优秀的Java持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,使得数据库操作与业务逻辑...

    eclipse集成的ibator插件

    Eclipse集成的Ibator插件是开发人员在使用MyBatis框架时的一个强大工具,它简化了数据库表到Java实体类的映射过程。Ibator,全称为"IntelliJ IDEA Table to Active Record",最初是为 IntelliJ IDEA 设计的,但随着...

    ibator的eclipse插件

    `ibator`(IntelliJ IDEA的iBATIS Generator的Eclipse版本)是一款强大的数据库代码自动生成工具,它能够帮助开发者快速地生成Java持久层代码,包括实体类、Mapper接口及XML配置文件等,大大提高了开发效率。...

    Ibator参考程序

    【Ibator参考程序】是基于JavaEE平台,利用Ibator工具进行数据库映射的实践项目,主要用于简化SSI(Service、Session、Impl...而文件`dataAttTools`可能是项目中的一个工具类或模块,具体功能需要查看源代码才能明确。

    IBATOR动态生成sql和DAO层

    【IBATOR动态生成SQL和DAO层】是一种高效开发工具,基于Apache的iBatis框架,旨在简化数据库操作的代码编写工作。iBatis是Java语言中的一个持久层框架,它允许开发者将SQL语句直接嵌入到Java代码中,提供灵活的数据...

    ibator使用指导

    Ibator,全称是"iBatis Auto Generator",是一个强大的代码生成工具,用于简化基于MyBatis框架的数据库模型、映射文件和DAO接口的创建。在MyEclipse 7.5中安装Ibator插件可以极大提高开发效率,避免手动编写重复的...

    ibator 1.2.1

    这个工具极大地提升了开发效率,减少了手动编写SQL映射文件、实体类和DAO层代码的工作量。它的核心功能是根据数据库表结构自动生成Java源代码,包括Model类、Mapper接口和XML配置文件,帮助开发者快速构建基于Ibatis...

    ibator使用心得

    `ibator`,全称Apache iBATIS Auto Generator,是一个基于Java的代码生成工具,源自iBATIS项目,用于帮助开发者快速生成与数据库交互的Java类和XML映射文件。相较于Hibernate,ibator允许开发者拥有更多的SQL控制权...

    IBator的安装使用

    IBator是Apache iBATIS项目的一个子项目,它是一个代码生成器,能够帮助开发人员自动化创建基于iBATIS的持久层代码,包括Java模型类、SQL映射文件以及DAO接口。通过减少手动编写这些常见的重复性工作,IBator可以...

    ibator插件+ibatorConfig文件

    【ibator插件+ibatorConfig文件】是用于简化Java开发中的数据库操作的工具,尤其在构建Maven或Gradle项目时,它能自动生成基于Active Record模式的DAO层、Service层以及实体类代码,极大地提高了开发效率。ibator是...

    删除注释工具类

    总的来说,"删除注释工具类"是一个实用的辅助开发工具,它能够帮助开发者有效地管理和维护由Ibator生成的代码中的注释,保持代码库的整洁和一致性。使用这样的工具,可以提升开发效率,减少重复工作,让开发者将更多...

    ibator-eclipse插件1.2.1 包含优化后jar包

    使用Ibator-Eclipse插件,开发者可以快速地根据数据库表结构生成对应的Java实体类、Mapper接口及XML配置文件、DAO接口及其实现类等,极大地提高了开发效率。通过Eclipse的插件管理界面安装Ibator插件后,用户只需...

    ibator优化的jar包

    ibator插件优化的jar包,安装完ibator后,将eclipse\plugins\org.apache.ibatis.ibator.core_1.2.1下的jar包替换即可。

    适用mysql分页的ibator

    ibator(MyBatis Generator)是一个自动生成MyBatis相关代码的工具,包括实体类、映射文件和DAO接口。利用ibator,你可以快速生成基础代码,然后在此基础上添加分页查询的逻辑。 通过以上步骤,你可以在iBatis项目...

    ibator1.2.2无注释

    ibator1.2.2多了点功能,具体可以百度,重新编译了下,生成注释去掉了

    ibator教学视频

    ibator教学视频,手把手教你使用ibator

Global site tag (gtag.js) - Google Analytics