首页 > 作文

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

更新时间:2023-04-03 02:39:13 阅读: 评论:0

[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:/urs/administrator/documents/myeclip/xxxx/src/” size=”60″><input type=”submit”></td>

<td rowspan=”2″ valign=”top”><p style=”width: 100%;height: 100%” id=”tip”></p></td>

</tr>

<tr>

<td valign=”top”>表名:<p style=”width: 100%;height: 100%” id=”tablename”><input name=”t” type=”text”></p></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.sqlrver.jdbc.sqlrverdriver”;//数据库驱动

string dburl=”jdbc:sqlrver://127.0.0.1:1433;databaname=db”;//数据库url

string dbur=”sa”;//数据库帐号

string dbpassword=””;//数据库密码

//读取数据1

class.forname(dbdriver).newinstance();

connection conn = drivermanager.getconnection(dburl, dbur,dbpassword);

statement stmt = conn.createstatement(resultt.type_scroll_innsitive,resultt.concur_read_only);

resultt rs = stmt.executequery(“lect 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(“rvice”);//impl包

pa.add(“rvice”);//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(“lect 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”);

resulttmetadata 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 = metadata.getcolumnname(j + 1);

string szcolvalue = rs.getstring(szcolname);

if (szcolvalue == null)

szcolvalue = “”;

r[irownum].put(szcolname, szcolvalue);

}

irownum++;

}

string bt=t.substring(0,1).toupperca()+t.substring(1);

//实体类文件

file file = new file(p+pa.get(0)+”/”+bt+”.java”);

if(file.exists())

file.delete();

filewriter fw=new filewriter(file);

bufferedwriter bw=new bufferedwriter(fw);

bw.write(&田舍范成大#8220;package “+pa.get(0)+”;\r\n\n”);

bw.write(“public class “+bt+” implements java.io.rializable{\r\n”);

bw.write(” private static final long rialversionuid=1l;\r\n”);

string[][] ts=new string[r.length][3];

for(int i=0;i<r.length;i++){

ts[i][0]=”object”;

for(string[] temp :db2java)

if(r[i].get(“type”).equals(temp[0]))

ts[i][0]=temp[1];

ts[i][1]=r[i].get(“column”).tostring();

ts[i][2]=ts[i][1].substring(0,1).toupperca()+ts[i][1].substring(1);

bw.write(” “+ts[i][0]+” “+ts[i][1]+”;\r\n”);

}

for(int i=0;i<r.length;i++){

bw.write(“\r\n”);

bw.write(” public “+ts[i][0]+” get”+ts[i][2]+”(){\r\n”);

bw.write(” return “+ts[i][1]+”;\r\n”);

bw.write(” }\r\n”);

bw.write(“\r\n”);

bw.write(” public void t”+ts[i][2]+”(“+ts[i][0]+” “+ts[i][1]+”) {\r\n”);

bw.write(” this.”+ts[i][1]+” =”+ts[i][1]+”;\r\n”);

bw.write(” }\r\n”);

}

bw.write(” public “+bt+”(){\r\n”);

bw.write(” }\r\n”);

string gz=””;

for(int i=0;i<r.length;i++)

gz+=”,”+ts[i][0]+” “+ts[i][1];

bw.write(” public “+bt+”(“+gz.substring(1)+”){\r\n”);

for(int i=0;i<r.length;i++)

bw.write(” this.”+ts[i][1]+”=”+ts[i][1]+”;\r\n”);

bw.write(” }\r\n”);

bw.write(“}”);

bw.flush();

//mapper文件

string gzq=””,gzi=””,gzu=””;

for(int i=0;i<r.length;i++){

gzq+=”[“+ts[i][1]+”],”;

gzi+=”#{“+ts[i][1]+”},”;

gzu+=”[“+ts[i][1]+”]”+”=#{“+ts[i][1]+”},”;

}

gzq=(gzq+”,”).replace(“,,”, “”);

gzi=(gzi+”,”).replace(“,,”, “”);

gzu=(gzu+”,”).replace(“,,”, “”);

file = new file(p+pa.get(1)+”/”+bt+”.xml”);

if(file.exists())

file.delete();

fw=new filewriter(file);

bw=new bufferedwriter(fw);

bw.write(“<?xml version=\”1.0\” encoding=\”utf-8\”?>\r\n”);

bw.write(“<!doctype mapper public \”-//mybatis.org//dtd mapper 3.0//en\” \””);

bw.write(“<mapper namespace=\””+bt+”\”>\r\n”);

bw.write(” <cache/>\r\n”);

bw.write(” <lect id=\”lect”+bt+”byrid\” resulttype=\””+bt+”\” parametertype=\”java.lang.string\”>\r\n”);

bw.write(” lect “+gzq+” from [“+t+”] where [enable]=1 and [rid]=’${value}’\r\n”);

bw.write(” </lect>\r\n”);

bw.write(” <lect id=\”lect”+bt+”\” resulttype=\””+bt+”\”>\r\n”);

bw.write(” lect “+gzq+” from [“+t+”] where [enable]=1\r\n”);

bw.write(” </lect>\r\n”);

bw.write(” <lect id=\”lect”+bt+”query\” resulttype=\””+bt+”\” parametertype=\”java.lang.string\”>\r\n”);

bw.write(” lect “+gzq+” from [“+t+”] where [enable]=1 and ${value}\r\n”);

bw.write(” </lect>\r\n”);

bw.write(” <inrt id=\”inrt”+bt+”\” parametertype=\””+bt+”\”>\r\n”);

bw.write(” inrt into [“+t+”] (“+gzq+”)values(“+gzi+”)\r\n”);

bw.write(” </inrt>\r\n”);

bw.write(” <update id=\”update”+bt+”\” parametertype=\””+bt+”\”>\r\n”);

bw.write(” update [“+t+”] t “+gzu+” where [rid]=#{rid}\r\n”);

bw.write(” </update>\r\n”);

bw.write(” <delete id=\”delete”+bt+”\”>\r\n”);

bw.write(” delete [“+t+”] where [enable]=0\r\n”);

bw.write(” </delete>\r\n”);

bw.write(“</mapper>”);

bw.flush();

//impl文件

file = new file(p+pa.get(2)+”/”+bt+”impl.java”);

if(file.exists())

file.delete();

fw=new filewriter(file);

bw=new bufferedwriter(fw);

bw.write(“package “+pa.get(2)+”;\r\n”);

bw.write(“\r\n”);

bw.write(“import java.util.list;\r\n”);

bw.write(“import org.springframework.stereotype.rvice;\r\n”);

if(!pa.get(2).equals(pa.get(0)))

bw.write(“import “+pa.get(0)+”.”+bt+”;\r\n”);

bw.write(“@rvice(\””+bt+”impl\”)\r\n”);

bw.write(“public class “+bt+”impl extends org.mybatis.spring.support.sqlssiondaosupport implements “+(pa.get(2).equals(pa.get(3))?””:pa.get(3)+”.”)+bt+”dao {\r\n”);

bw.write(” public “+bt+” lect”+bt+”byrid(string rid) {\r\n”);

bw.write(” return (“+bt+”)getsqlssion().lectlist(\”lect”+bt+”byrid\”,rid);\r\n”);

bw.write(” }\r\n”);

bw.write(” \r\n”);

bw.write(” @suppresswarnings(\”unchecked\”)\r\n”);

bw.write(” public list<“+bt+”> lect”+bt+”(){\r\n”);

bw.write(” return getsqlssion().lectlist(\”lect”+bt+”\”);\r\n”);

bw.write(” }\r\n”);

bw.write(” \r\n”);

bw.write(” @suppresswarnings(\”unchecked\”)\r\n”);

bw.write(” public list<“+bt+”> lect”+bt+”query(string query){\r\n”);

bw.write(” return getsqlssion().lectlist(\”lect”+bt+”query\”,query);\r\n”);

bw.write(” }\r\n”);

bw.write(” \r\n”);

bw.write(” public int inrt”+bt+”(“+bt+” “+t+”) {\r\n”);

bw.write(” return getsqlssion().inrt(\”inrt”+bt+”\”,”+t+”);\r\n”);

bw.write(” }\r\n”);

bw.write(” \r\n”);

bw.write(” public int update”+bt+”(“+bt+” “+t+”) {\r\n”);

bw.write(” return getsqlssion().update(\”update”+bt+”\”,”+t+”);\r\n”);

bw.write(” }\r\n”);

bw.write(” \r\n”);

bw.write(” public int delete”+bt+”() {\r\n”);

bw.write(” return getsqlssion().delete(\”delete”+bt+”\”);\r\n”);

bw.write(” }\r\n”);

bw.write(“}”);

bw.flush();

//dao文件

file = new file(p+pa.get(3)+”/”+bt+”dao初三作文.java”);

if(file.exists())

file.delete();

fw=new filewriter(file);

bw=new bufferedwriter(fw);

bw.write(“package “+pa.get(3)+”;\r\n”);

bw.write(“\r\n”);

bw.write(“import java.util.list;\r\n”);

bw.write(“import org.springframework.transaction.annotation.transactional;\r\n”);

if(!pa.get(3).equals(pa.get(0)))

bw.write(“import “+pa.get(0)+”.”+bt+”;\r\n”);

bw.write(“\r\n”);

bw.write(“@transactional\r\n”);

bw.write(“public interface “+bt+”dao {\r\n”);

bw.write(” “+bt+” lect”+bt+”byrid(string rid);\r\n”);

bw.write(” \r\n”);

bw.write(” list<“+bt+”> lect”+bt+”();\r\n”);

bw.write(” \r\n”);

bw.write(” list<“+bt+”> lect”+bt+”query(string query);\r\n”);

bw.write(” \r\n”);

bw.write(” int inrt”+bt+”(“+bt+” “+t+”);\r\n”);

bw.write(” \r\n”);

bw.write(” int update”+bt+”(“+bt+” “+t+”);\r\n”);

bw.write(” \r\n”);

bw.write(” int delete”+bt+”();\r\n”);

bw.write(“}”);

bw.flush();

//spring文件

list<string> lw=new arraylist<string>();

file = new file(p+pa.get(4));

boolean f1=fal;

if(file.exists()){

filereader fr=new filereader(file);

bufferedreader br=new bufferedreader(fr);

while(br.ready())

lw.add(br.readline());

if(file.exists())

file.delete();

fw=new filewriter(file);

bw=new bufferedwriter(fw);

for(int i=0;i<lw.size()-1;i++){

if(lw.get(i).equals(” <bean id=\””+bt+涉江采芙蓉翻译221;impl\” class=\””+pa.get(3)+”.”+bt+”impl\”>”))

f1=true;

fw.write(lw.get(i)+”\r\n”);

}

if(!f1){

bw.write(” <bean id=\””+bt+”impl\” class=\””+pa.get(3)+”.”+bt+”impl\”>\r\n”);

bw.write(” <property name=\”sqlssionfactory\” ref=\”sqlssionfactory\”/>\r\n”);

bw.write(” </bean>\r\n”);

}

bw.write(lw.get(lw.size()-1));

bw.flush();

}

//mybatis文件

lw.clear();

file = new file(p+pa.get(5));

boolean f2=fal;

if(file.exists()){

filereader fr=new filereader(file);

bufferedreader br=new bufferedreader(fr);

while(br.ready())

lw.add(br.readline());

file.delete();

fw=new filewriter(file);

bw=new bufferedwriter(fw);

for(int i=0;i<lw.size()-2;i++){

if(lw.get(i).equals(” <typealias alias=\””+bt+”\” type=\””+pa.get(0)+”.”+bt+”\”/>”))

f2=true;

fw.write(lw.get(i)+”\r\n”);

}

if(!f2)

bw.write(” <typealias alias=\””+bt+”\” type=\””+pa.get(0)+”.”+bt+”\”/>\r\n”);

bw.write(lw.get(lw.size()-2)+”\r\n”);

bw.write(lw.get(lw.size()-1));

bw.flush();

}

bw.clo();

f毕有才w.clo();

tipstr+=”<br/>”;

tipstr+=”已经生成:<br/>”;

tipstr+=”<br/>”;

tipstr+=” 实体类:<br/>”;

tipstr+=” “+pa.get(0)+”.”+bt+”.java{<br/>”;

tipstr+=” 字段…<br/>”;

tipstr+=” “+bt+”(){}<br/>”;

tipstr+=” “+bt+”(所有字段)<br/>”;

tipstr+=” }<br/>”;

tipstr+=”<br/>”;

tipstr+=” mapper,dao,impl:<br/>”;

tipstr+=” lect”+bt+”byrid(string 表id)<br/>”;

tipstr+=” lect”+bt+”<br/>”;

tipstr+=” lect”+bt+”query(string 条件)<br/>”;

tipstr+=” inrt”+bt+”(实体)<br/>”;

tipstr+=” delete”+bt+”<br/>”;

tipstr+=” update”+bt+”(实体)<br/>”;

if(f1||f2){

tipstr+=”<br/>”;

tipstr+=” <font style=\”color: red\”>已注册”+(f1?”spring,”:””)+(f2?”mybaits”:””)+”</font>”;

}

}%>

<script type=”text/javascript”>

document.getelementbyid(“tip”).innerhtml='<%=tipstr%>’;

</script>

</body>

</html>

作者:icskee

本文发布于:2023-04-03 02:39:11,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/d807be36d2eacfeaef9589219ac6348d.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:一个用于MyBatis的辅助页面,自动生成实体,mapper,impl,dao,注册spring,mybatis的小玩意.doc

本文 PDF 下载地址:一个用于MyBatis的辅助页面,自动生成实体,mapper,impl,dao,注册spring,mybatis的小玩意.pdf

标签:字段   数据库   模板   路径
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图