一个用于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 ,