private bool CreateCode() { if (txtNameSpace.Text.Trim() == "") { MessageBox.Show("请输入命名空间或包名"); return(false); } if (txtClassName.Text.Trim() == "") { MessageBox.Show("请输入类名"); return(false); } String strNameSpace = txtNameSpace.Text.Trim(); String strClassName = txtClassName.Text.Trim(); DatabaseConfig dbConfig = (DatabaseConfig)comboBox_Database.SelectedItem; DataRowView dr = (DataRowView)listBox_Tables.SelectedItem; String strDBTableName = dr["name"].ToString(); DataTable dtZeroTable = new DBHelper().GetZeroTable(dbConfig, strDBTableName); DataTable dtColumns = myDBHelper.GetTableColumns(dbConfig, strDBTableName); #region 生成C#代码 StringBuilder b = new StringBuilder(); b.Append("using System;"); b.Append("\r\n" + "using System.Collections.Generic;"); b.Append("\r\n" + "using System.Linq;"); b.Append("\r\n" + "using System.Text;"); b.Append("\r\n" + "using System.Threading.Tasks;"); b.Append("\r\n" + "namespace " + strNameSpace); b.Append("\r\n" + "{"); b.Append("\r\n" + " public class " + strClassName + " : Entity<" + strClassName + ">"); b.Append("\r\n" + " {"); b.Append("\r\n" + " /// <summary>"); b.Append("\r\n" + " /// " + txtTableComment.Text.Trim().Replace("\r\n", "\r\n /// ")); b.Append("\r\n" + " /// </summary>"); b.Append("\r\n" + " public " + strClassName + "()"); b.Append("\r\n" + " {"); b.Append("\r\n" + " this._DBTableName = \"" + strDBTableName + "\";"); if (comboBox_PrimaryKeyType.Text == "自增") { //b.Append("\r\n" + " this._PrimaryKeyType = Database.PrimaryKeyType.AutoIncrease;"); } else { b.Append("\r\n" + " this._PrimaryKeyType = Database.PrimaryKeyType.GUID;"); } b.Append("\r\n" + " this._PrimaryKey = \"" + comboBox_PrimaryKey.Text + "\";"); b.Append("\r\n" + " }"); for (int i = 0; i < dtZeroTable.Columns.Count; i++) { String comment = ""; for (int j = 0; j < dtColumns.Rows.Count; j++) { if (dtColumns.Rows[j]["ColName"].ToString().ToLower() == dtZeroTable.Columns[i].ColumnName.ToLower()) { comment = dtColumns.Rows[j]["Comment"].ToString(); break; } } b.Append("\r\n"); b.Append("\r\n" + " /// <summary>"); b.Append("\r\n" + " /// " + comment.Replace("\r\n", "\r\n /// ")); b.Append("\r\n" + " /// </summary>"); if (dtZeroTable.Columns[i].DataType.ToString().ToLower() == "System.String".ToLower()) { b.Append("\r\n" + " public " + dtZeroTable.Columns[i].DataType.ToString() + " " + this.GetNetColumnName(dtZeroTable.Columns[i].ColumnName) + " { get; set; }"); } else { b.Append("\r\n" + " public " + dtZeroTable.Columns[i].DataType.ToString() + "? " + this.GetNetColumnName(dtZeroTable.Columns[i].ColumnName) + " { get; set; }"); } } b.Append("\r\n" + " }"); b.Append("\r\n" + "}"); txtCodeCSharp.Text = b.ToString(); #endregion #region 生成JAVA代码 b = new StringBuilder(); b.Append("package " + strNameSpace + ";\r\n"); b.Append("import java.io.Serializable;\r\n"); b.Append("import java.util.Date;\r\n"); b.Append("import javax.persistence.GenerationType;\r\n"); b.Append("import javax.persistence.Column;\r\n"); b.Append("import javax.persistence.Entity;\r\n"); b.Append("import javax.persistence.GeneratedValue;\r\n"); b.Append("import javax.persistence.Id;\r\n"); b.Append("import javax.persistence.Table;\r\n"); b.Append("import org.apache.commons.lang.builder.ToStringBuilder;\r\n"); b.Append("import org.hibernate.annotations.GenericGenerator;\r\n"); b.Append("\r\n"); b.Append("/**\r\n"); b.Append(" * " + txtTableComment.Text.Trim().Replace("\r\n", "\r\n *") + "\r\n"); b.Append(" */\r\n"); b.Append("@Entity\r\n"); b.Append("@Table(name = \"" + strDBTableName + "\")\r\n"); b.Append("public class " + OnlyUpperFirst(getJavaColumnName(strClassName)) + " implements Serializable {\r\n"); b.Append(" private static final long serialVersionUID = 1L;\r\n"); if (comboBox_PrimaryKeyType.Text == "自增") { b.Append(" @Id\r\n"); b.Append(" @GeneratedValue(strategy = GenerationType.IDENTITY)\r\n"); b.Append(" private Long " + comboBox_PrimaryKey.Text + ";\r\n"); b.Append(" public Long get" + OnlyUpperFirst(comboBox_PrimaryKey.Text) + "() {\r\n"); b.Append(" return " + comboBox_PrimaryKey.Text + ";\r\n"); b.Append(" }\r\n"); b.Append(" public void set" + OnlyUpperFirst(comboBox_PrimaryKey.Text) + "(Long " + comboBox_PrimaryKey.Text + ") {\r\n"); b.Append(" this." + comboBox_PrimaryKey.Text + " = " + comboBox_PrimaryKey.Text + ";\r\n"); b.Append(" }\r\n"); } else { b.Append(" @Id\r\n"); b.Append(" @GenericGenerator(name = \"systemUUID\", strategy = \"uuid\")\r\n"); b.Append(" @GeneratedValue(generator = \"systemUUID\")\r\n"); b.Append(" @Column(name = \"" + comboBox_PrimaryKey.Text + "\", unique = true, nullable = false)\r\n"); b.Append(" private String " + comboBox_PrimaryKey.Text + ";\r\n"); b.Append(" public String get" + OnlyUpperFirst(comboBox_PrimaryKey.Text) + "() {\r\n"); b.Append(" return " + comboBox_PrimaryKey.Text + ";\r\n"); b.Append(" }\r\n"); b.Append(" public void set" + OnlyUpperFirst(comboBox_PrimaryKey.Text) + "(String " + comboBox_PrimaryKey.Text + ") {\r\n"); b.Append(" this." + comboBox_PrimaryKey.Text + " = " + comboBox_PrimaryKey.Text + ";\r\n"); b.Append(" }\r\n"); } for (int i = 0; i < dtZeroTable.Columns.Count; i++) { if (dtZeroTable.Columns[i].ColumnName == comboBox_PrimaryKey.Text) { continue; } String comment = ""; for (int j = 0; j < dtColumns.Rows.Count; j++) { if (dtColumns.Rows[j]["ColName"].ToString().ToLower() == dtZeroTable.Columns[i].ColumnName.ToLower()) { comment = dtColumns.Rows[j]["Comment"].ToString(); break; } } b.Append(" @Column(name = \"" + dtZeroTable.Columns[i].ColumnName + "\")\r\n"); string colType = getJavaColumnType(dtZeroTable.Columns[i].DataType.ToString()); string colName = getJavaColumnName(dtZeroTable.Columns[i].ColumnName); b.Append(" private " + colType + " " + colName + ";\r\n"); b.Append(" /**\r\n"); b.Append(" *" + comment.Replace("\r\n", "\r\n *") + "\r\n"); b.Append(" */\r\n"); b.Append(" public " + colType + " get" + OnlyUpperFirst(colName) + "() {\r\n"); b.Append(" return " + colName + ";\r\n"); b.Append(" }\r\n"); b.Append(" /**\r\n"); b.Append(" *" + comment.Replace("\r\n", "\r\n *") + "\r\n"); b.Append(" */\r\n"); b.Append(" public void set" + OnlyUpperFirst(colName) + "(" + colType + " " + colName + ") {\r\n"); b.Append(" this." + colName + " = " + colName + ";\r\n"); b.Append(" }\r\n"); } b.Append(" public " + OnlyUpperFirst(getJavaColumnName(strClassName)) + "(){}"); b.Append("}\r\n"); txtCodeJava.Text = b.ToString(); #endregion #region 生成Mybatis代码 b = new StringBuilder(); b.Append("package " + strNameSpace + ";\r\n"); b.Append("import java.util.Date;\r\n"); b.Append("\r\n"); b.Append("/**\r\n"); b.Append(" * " + txtTableComment.Text.Trim().Replace("\r\n", "\r\n *") + "\r\n"); b.Append(" */\r\n"); b.Append("public class " + OnlyUpperFirst(getJavaColumnName(strClassName)) + " {\r\n"); for (int i = 0; i < dtZeroTable.Columns.Count; i++) { //if (dtZeroTable.Columns[i].ColumnName == comboBox_PrimaryKey.Text) { continue; } String comment = ""; for (int j = 0; j < dtColumns.Rows.Count; j++) { if (dtColumns.Rows[j]["ColName"].ToString().ToLower() == dtZeroTable.Columns[i].ColumnName.ToLower()) { comment = dtColumns.Rows[j]["Comment"].ToString(); break; } } //b.Append(" @Column(name = \"" + dtZeroTable.Columns[i].ColumnName + "\")\r\n"); string colType = getJavaColumnType(dtZeroTable.Columns[i].DataType.ToString()); string colName = getJavaColumnName(dtZeroTable.Columns[i].ColumnName); b.Append(" private " + colType + " " + colName + ";\r\n"); b.Append(" /**\r\n"); b.Append(" *" + comment.Replace("\r\n", "\r\n *") + "\r\n"); b.Append(" */\r\n"); b.Append(" public " + colType + " get" + OnlyUpperFirst(colName) + "() {\r\n"); b.Append(" return " + colName + ";\r\n"); b.Append(" }\r\n"); b.Append(" /**\r\n"); b.Append(" *" + comment.Replace("\r\n", "\r\n *") + "\r\n"); b.Append(" */\r\n"); b.Append(" public void set" + OnlyUpperFirst(colName) + "(" + colType + " " + colName + ") {\r\n"); b.Append(" this." + colName + " = " + colName + ";\r\n"); b.Append(" }\r\n"); } b.Append(" public " + OnlyUpperFirst(getJavaColumnName(strClassName)) + "(){}"); b.Append("}\r\n"); txtCodeMybatis.Text = b.ToString(); #endregion return(true); }
public FormDBConfig(FormMain formMain, DatabaseConfig dbConfig) { FormMain = formMain; DBConfig = dbConfig; InitializeComponent(); }