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