当前位置:编程学习 > html/css >>

一个用于MyBatis的辅助页面,自动生成实体,mapper,impl,dao,注册spring,mybatis的小玩意

[html]
<%@ page language="java" import="java.util.*,java.sql.*,java.io.*" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
<body> 
<form action=""> 
    <table> 
        <tr> 
            <td>src路径:<input name="p" type="text" value="C:/Users/Administrator/Documents/MyEclipse/XXXX/src/" size="60"><input type="submit"></td> 
            <td rowspan="2" valign="top"><div style="width: 100%;height: 100%" id="tip"></div></td> 
        </tr> 
        <tr> 
            <td valign="top">表名:<div style="width: 100%;height: 100%" id="tableName"><input name="t" type="text"></div></td> 
        </tr> 
    </table> 
</form> 
<% 
/**********************************************************/ 
//自定义说明:如果想自己修改,可以调用的信息,注意作用范围,确保包正确,必须先准生成包,使用前设定好src路径,数据库驱动,数据库配置,参数,模板 
//String[][] ts     [][0]类型,1字段,2大写开头字段 
//String bt         表名,大写开头 
//String t          表名,小写开头 
//String p          项目src路径 
//String gz         参数段,多用于构造                       例如      String a,String b,int c... 
//String gzq        字段,多用于mapper                    例如      [id],[name],[code]... 
//String gzi        字段参数,多用于mapper,             例如      #{id},#{name},#{code}... 
//String gzu        字段参数,多用于mapper,             例如      [id]=#{id},[name]=#{name},[code]=#{code}... 
//*****段落,作为diy帮助 
//初始化1 
//读取数据库1 
//判断 
//初始化2 
//读取数据库2        别忘记了驱动,那玩意我才不去集成 
//实体类           建议不要用原型int,double这样的类,因为他们无法赋值null,虽然封装类java.lang.*,例如Integer,Double这样的会慢点,但是可以满足SQL的null 
//mapper        这里写sql模板 
//impl          这里写impl模板 
//dao           这里写dao模板 
//spring        注入spring模板 
//mybatis       注入mybatis模板 
//说明 
/**********************************************************/ 
//初始化 
String dbDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";//数据库驱动 
String dbUrl="jdbc:sqlserver://127.0.0.1:1433;databaseName=DB";//数据库URL 
String dbUser="sa";//数据库帐号 
String dbPassword="";//数据库密码 
//读取数据1 
Class.forName(dbDriver).newInstance(); 
Connection conn = DriverManager.getConnection(dbUrl, dbUser,dbPassword); 
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); 
ResultSet rs = stmt.executeQuery("SELECT name FROM sysobjects WHERE xtype = 'U' AND status >= 0"); 
String str=""; 
while(rs.next()){ 
    String name=rs.getString("name"); 
    str+="<input type=\"checkbox\" value=\""+name+"\" name=\"ts\">"+name+"<br/>"; 
}%> 
<script type="text/javascript"> 
    document.getElementById("tableName").innerHTML='<%=str%>'; 
</script> 
<%//判断 
String p=request.getParameter("p"); 
String[] tss=request.getParameterValues("ts"); 
if(tss==null||p==null||p=="") 
    return; 
//初始化2 
List<String> pa=new ArrayList<String>(); 
pa.add("unit");//实体类包 
pa.add("mapper");//mapper包 
pa.add("service");//impl包 
pa.add("service");//dao包 
pa.add("configuration/spring.xml");//spring路径 
pa.add("configuration/myBatis.xml");//myBatis路径 
List<String[]> db2java=new ArrayList<String[]>();//数据库转实体类的类型设定     [0]为SQL类型,[1]为java类型    不满足条件为Object 
db2java.add(new String[]{"bit","Boolean"}); 
db2java.add(new String[]{"nvarchar","String"}); 
db2java.add(new String[]{"numeric","Double"}); 
db2java.add(new String[]{"int","Integer"}); 
db2java.add(new String[]{"datetime","java.util.Date"}); 
String tipStr=""; 
for(int ti=0;ti<tss.length;ti++){ 
    String t=tss[ti]; 
    HashMap[] r = (HashMap[]) null; 
    //读取数据2 
    int iRowNum; 
    r = (HashMap[])null; 
    iRowNum = 0; 
    int iColCnt = 0; 
    rs = stmt.executeQuery("select a.name as [column],b.name as type from syscolumns a,systypes b where a.id=object_id('"+ t+ "') and a.xtype=b.xtype and b.name!='sysname' order by a.id,a.colorder"); 
    ResultSetMetaData MetaData = rs.getMetaData(); 
    iColCnt = MetaData.getColumnCount(); 
    if (rs.next()){ 
        rs.last(); 
        r = new HashMap[rs.getRow()]; 
        rs.beforeFirst(); 
    } 
    while (rs.next()){ 
        r[iRowNum] = new HashMap(); 
        for (int j = 0; j < iColCnt; j++){ 
            String szColName = MetaDa
补充:web前端 , HTML 5 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,