From 5f80de49c4a00416591054180bf809a12a76d686 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期四, 07 十一月 2024 16:40:53 +0800 Subject: [PATCH] 1 --- JavaCode/FrmMyBatisPlus.cs | 228 ++++++++++++++++++++++++++++++-------------------------- 1 files changed, 123 insertions(+), 105 deletions(-) diff --git a/JavaCode/FrmMyBatisPlus.cs b/JavaCode/FrmMyBatisPlus.cs index 1f5e721..bc0e818 100644 --- a/JavaCode/FrmMyBatisPlus.cs +++ b/JavaCode/FrmMyBatisPlus.cs @@ -4,12 +4,10 @@ using System.ComponentModel; using System.Data; using System.Diagnostics; -using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Text.RegularExpressions; -using System.Threading.Tasks; using System.Windows.Forms; namespace JavaCode @@ -44,7 +42,7 @@ string tabName = this.txtTabPre.Text.Trim(); string tabFilter = string.IsNullOrEmpty(tabName) ? "" : string.Format("and c.relname like '{0}%'", tabName); - string sql = string.Format("select c.relname \"tab\", cast(obj_description(c.oid) as varchar) \"desc\", a.attnum \"num\", a.attname \"col\", t.typname \"type\", d.description \"bak\" from pg_attribute a left join pg_description d on d.objoid = a.attrelid and d.objsubid = a.attnum left join pg_class c on a.attrelid = c.oid left join pg_type t on a.atttypid = t.oid where a.attnum >= 0 and reltype>0 and relnamespace in ({0}) {1} and position('pg.dropped' in a.attname) = 0 order by c.relname desc, a.attnum asc", this.txtNS.Text.Trim(), tabFilter); + string sql = string.Format("select c.relname \"tab\", cast(obj_description(c.oid) as varchar) \"desc\", a.attnum \"num\", a.attname \"col\", t.typname \"type\", d.description \"bak\" from pg_attribute a left join pg_description d on d.objoid = a.attrelid and d.objsubid = a.attnum left join pg_class c on a.attrelid = c.oid left join pg_type t on a.atttypid = t.oid where a.attnum >= 0 and reltype>0 and relnamespace in ({0}) {1} and position('pg.dropped' in a.attname) = 0 order by c.relname desc, a.attnum asc", this.txtTabNS.Text.Trim(), tabFilter); DataTable dt = _dbHelper.GetDataTable(sql, null); _list = ModelHandler.FillModel<TabInfo>(dt); @@ -151,7 +149,115 @@ MessageBox.Show(ex.Message); } } + #endregion + #region 鐢熸垚 Mapper + private void GenerateMapper(string path, string name, List<TabInfo> tabs) + { + if (!Directory.Exists(path)) Directory.CreateDirectory(path); + + string tabName = this.txtTabPrefix.Text.Trim() + name; + //string shortName = NameConvert(name, true); + string shortName = GetEntityName(name, true); + + string mapperNS = this.txtMapperNS.Text.Trim(); + string mapperName = shortName + "Mapper"; + + string entityNS = this.txtEntityNS.Text.Trim(); + string entityName = shortName + "Entity"; + + string ns = this.txtNS.Text.Trim(); + string bak = string.IsNullOrWhiteSpace(tabs[0].desc) ? shortName : tabs[0].desc.Replace("琛�", ""); + + //if (this.HasGeom(tabs)) return; + string javaFile = this.HasGeom(tabs) ? "GeoMapper.java" : "Mapper.java"; + string xml = File.ReadAllText(Path.Combine(baseDir, "BsTemplate\\" + javaFile)); + xml = xml + .Replace("{mapperNS}", mapperNS) + .Replace("{mapperName}", mapperName) + .Replace("{entityNS}", entityNS) + .Replace("{entityName}", entityName) + .Replace("{ns}", ns) + .Replace("{bak}", bak); + + string fileName = shortName + "Mapper.java"; + File.WriteAllText(Path.Combine(path, fileName), xml); + } + #endregion + + #region 鐢熸垚 Entity + private void GenerateEntity(string path, string name, List<TabInfo> tabs) + { + if (!Directory.Exists(path)) Directory.CreateDirectory(path); + + string tabName = this.txtTabPrefix.Text.Trim() + name; + //string shortName = NameConvert(name, true); + string shortName = GetEntityName(name, true); + + string entityNS = this.txtEntityNS.Text.Trim(); + string entityName = shortName + "Entity"; + + string ns = this.txtNS.Text.Trim(); + string bak = string.IsNullOrWhiteSpace(tabs[0].desc) ? shortName : tabs[0].desc.Replace("琛�", ""); + long uid = (long)Math.Floor((new Random()).NextDouble() * 1000000000000000000D); + + //if (this.HasGeom(tabs)) return; + string javaFile = this.HasGeom(tabs) ? "GeoEntity.java" : "Entity.java"; + string xml = File.ReadAllText(Path.Combine(baseDir, "BsTemplate\\" + javaFile)); + xml = xml + .Replace("{entityNS}", entityNS) + .Replace("{entityName}", entityName) + .Replace("{bak}", bak) + .Replace("{tabName}", tabName) + .Replace("{ns}", ns) + .Replace("{uid}", uid.ToString()); + + StringBuilder sb = new StringBuilder(); + foreach (TabInfo ti in tabs) + { + string type = GetJavaType(ti); + //if (ti.col == "gid") sb.Append("\r\n @TableId(type = IdType.AUTO)"); + //if (ti.col == "geom" || ti.col == "shape_leng" || ti.col == "shape_area") + //{ + // sb.Append("\r\n @TableField(select = false)"); + //} + if (excludes.Contains(ti.col)) continue; + if (ti.col == "class") + { + //sb.Append("\r\n @TableField(value = \"class\")"); + //ti.col = "clazz"; + //ti.col = "classes"; + MessageBox.Show(ti.tab + "." + ti.col); + return; + } + + sb.Append("\r\n"); + string colName = NameConvert(ti.col, false); + if ("references" == colName) sb.Append(" @TableField(value = \"\\\"references\\\"\")").Append("\r\n"); + sb.Append(" private " + type + " " + colName + ";\r\n"); + } + sb.Append("\r\n public " + entityName + "() {\r\n }\r\n"); + + foreach (TabInfo ti in tabs) + { + if (excludes.Contains(ti.col)) continue; + + string type = GetJavaType(ti); + string col1 = NameConvert(ti.col, true); + string col2 = NameConvert(ti.col, false); + + sb.Append("\r\n public " + type + " get" + col1 + "() {\r\n return " + col2 + ";\r\n }\r\n"); + sb.Append("\r\n public void set" + col1 + "(" + type + " " + col2 + ") {\r\n this." + col2 + " = " + col2 + ";\r\n }\r\n"); + } + sb.Append("}\r\n"); + sb.Insert(0, xml); + + string fileName = shortName + "Entity.java"; + File.WriteAllText(Path.Combine(path, fileName), sb.ToString()); + } + #endregion + + #region 鐢熸垚鎵�鏈� private void btnGeneAll_Click(object sender, EventArgs e) { try @@ -175,105 +281,23 @@ MessageBox.Show(ex.Message); } } - #endregion - #region 鐢熸垚 Mapper - private void GenerateMapper(string path, string name, List<TabInfo> tabs) + private void txtTabPrefix_TextChanged(object sender, EventArgs e) { - if (!Directory.Exists(path)) Directory.CreateDirectory(path); - - string tabName = this.txtTabNS.Text.Trim() + name; - //string shortName = NameConvert(name, true); - string shortName = GetEntityName(name, true); - - string mapperNS = this.txtMapperNS.Text.Trim(); - string mapperName = shortName + "Mapper"; - - string entityNS = this.txtEntityNS.Text.Trim(); - string entityName = shortName + "Entity"; - - string bak = string.IsNullOrWhiteSpace(tabs[0].desc) ? shortName : tabs[0].desc.Replace("琛�", ""); - - //if (this.HasGeom(tabs)) return; - string javaFile = this.HasGeom(tabs) ? "GeoMapper.java" : "Mapper.java"; - string xml = File.ReadAllText(Path.Combine(baseDir, "BsTemplate\\" + javaFile)); - xml = xml - .Replace("{mapperNS}", mapperNS) - .Replace("{mapperName}", mapperName) - .Replace("{entityNS}", entityNS) - .Replace("{entityName}", entityName) - .Replace("{bak}", bak); - - string fileName = shortName + "Mapper.java"; - File.WriteAllText(Path.Combine(path, fileName), xml); + txtChanged(sender, e); } - #endregion - #region 鐢熸垚 Entity - private void GenerateEntity(string path, string name, List<TabInfo> tabs) + private void txtNS_TextChanged(object sender, EventArgs e) { - if (!Directory.Exists(path)) Directory.CreateDirectory(path); + txtChanged(sender, e); + } - string tabName = this.txtTabNS.Text.Trim() + name; - //string shortName = NameConvert(name, true); - string shortName = GetEntityName(name, true); - - string entityNS = this.txtEntityNS.Text.Trim(); - string entityName = shortName + "Entity"; - - string bak = string.IsNullOrWhiteSpace(tabs[0].desc) ? shortName : tabs[0].desc.Replace("琛�", ""); - long uid = (long)Math.Floor((new Random()).NextDouble() * 1000000000000000000D); - - //if (this.HasGeom(tabs)) return; - string javaFile = this.HasGeom(tabs) ? "GeoEntity.java" : "Entity.java"; - string xml = File.ReadAllText(Path.Combine(baseDir, "BsTemplate\\" + javaFile)); - xml = xml - .Replace("{entityNS}", entityNS) - .Replace("{entityName}", entityName) - .Replace("{bak}", bak) - .Replace("{tabName}", tabName) - .Replace("{uid}", uid.ToString()); - - StringBuilder sb = new StringBuilder(); - foreach (TabInfo ti in tabs) - { - string type = GetJavaType(ti); - //if (ti.col == "gid") sb.Append("\r\n @TableId(type = IdType.AUTO)"); - //if (ti.col == "geom" || ti.col == "shape_leng" || ti.col == "shape_area") - //{ - // sb.Append("\r\n @TableField(select = false)"); - //} - if (excludes.Contains(ti.col)) continue; - if (ti.col == "class") - { - //sb.Append("\r\n @TableField(value = \"class\")"); - //ti.col = "clazz"; - //ti.col = "classes"; - MessageBox.Show(ti.tab); - return; - } - - string colName = NameConvert(ti.col, false); - sb.Append("\r\n private " + type + " " + colName + ";\r\n"); - } - sb.Append("\r\n public " + entityName + "() {\r\n }\r\n"); - - foreach (TabInfo ti in tabs) - { - if (excludes.Contains(ti.col)) continue; - - string type = GetJavaType(ti); - string col1 = NameConvert(ti.col, true); - string col2 = NameConvert(ti.col, false); - - sb.Append("\r\n public " + type + " get" + col1 + "() {\r\n return " + col2 + ";\r\n }\r\n"); - sb.Append("\r\n public void set" + col1 + "(" + type + " " + col2 + ") {\r\n this." + col2 + " = " + col2 + ";\r\n }\r\n"); - } - sb.Append("}\r\n"); - sb.Insert(0, xml); - - string fileName = shortName + "Entity.java"; - File.WriteAllText(Path.Combine(path, fileName), sb.ToString()); + private void txtChanged(object sender, EventArgs e) + { + string pre = txtTabPrefix.Text.Replace(".", "").Trim(); + string ns = txtNS.Text.Trim(); + txtMapperNS.Text = "com.lf.server.mapper.bd".Replace("lf", ns).Replace("bd", pre); + txtEntityNS.Text = "com.lf.server.entity.bd".Replace("lf", ns).Replace("bd", pre); } #endregion @@ -309,23 +333,17 @@ { string[] strs = name.Split(new char[] { '_' }); - string str = ""; for (int i = 0, c = strs.Length; i < c; i++) { - if (i == 0 && !firstUpper) + if (0 == i && !firstUpper) { - str += strs[i]; continue; } - str += strs[i].Length == 1 ? strs[i] : ToUpperFirst(strs[i]); - } - if (str.Length == 1 && firstUpper) - { - return str.ToUpper(); + strs[i] = char.IsDigit(strs[i][0]) ? "_" + strs[i] : ToUpperFirst(strs[i]); } - return str; + return string.Join("", strs); } public static string ToUpperFirst(string str) -- Gitblit v1.9.3