【我的小工具】一个表和表生成的代码

表:习惯用前三个字符来表示字段的类型。有了这个表的结构信息,可以生成很多代码。

类:

VB.Net

vbnet 复制代码
Namespace NF
	Public Class User
		Inherits NF.BaseEntity

		Public Const TableName As String = "tblUser"

		Public Shared Function FindOne(ByVal intID As Integer) As NF.User
			Dim this As New NF.User
			this.ID=intID
			this.Fill()
			Return this
		End Function

#Region "--Propertys--"

		Public Property ID As Integer = 0
		Public Property Name As String = ""
		Public Property BirthdayDate As Date = ComMod.MinDate
		Public Property Age As Integer = 0
		Public Property Money As Decimal = 0
		Public Property Remarks As String = ""

#End Region

#Region "--Methods--"

		Private Sub boxEntity(row As DataRow, this As NF.User)
			With this
				.ID = IIf(row.IsNull(TBC.intID), 0, row.Item(TBC.intID))
				.Name = IIf(row.IsNull(TBC.strName), "", row.Item(TBC.strName))
				.BirthdayDate = IIf(row.IsNull(TBC.dtmBirthday), ComMod.MinDate, row.Item(TBC.dtmBirthday))
				.Age = IIf(row.IsNull(TBC.intAge), 0, row.Item(TBC.intAge))
				.Money = IIf(row.IsNull(TBC.decMoney), 0, row.Item(TBC.decMoney))
				.Remarks = IIf(row.IsNull(TBC.strRemarks), "", row.Item(TBC.strRemarks))
				.EntityState = eEntityState.NO_CHANGE
			End With
		End Sub

		Public Overrides Function Fill(Optional ByVal dt As Data.DataTable = Nothing) As Collection
			MyBase.Fill()
			Dim cols As New Collection
			Dim blnFromDB As Boolean = False
			Dim this As NF.User
			If dt Is Nothing Then
				Using cmd As Data.IDbCommand = DBHelper.CreateCommand()
					cmd.CommandText = "Select * From tblUser Where intID=@intID"
					DBHelper.AddCmdParameter(cmd, TBC.intID, ID)
					dt = DBHelper.GetDataTable(cmd)
				End Using
				blnFromDB = True
			End If
			For Each row As Data.DataRow In dt.Rows
				If blnFromDB Then
					this = Me
				Else
					this = New NF.User
				End If
				boxEntity(row, this)
				cols.Add(this, this.GetHashCode.ToString)
			Next
			Return cols
		End Function

		Public Function ToList(ByVal tbl As DataTable) As IEnumerable(Of NF.BaseEntity)
			Dim mList As New List(Of NF.User)
			If tbl IsNot Nothing Then
				For Each row As Data.DataRow In tbl.Rows
					Dim this As New NF.User
					boxEntity(row, this)
					mList.Add(this)
				Next
			End If
			Return mList
		End Function

		Public Overrides Function Save() As Integer
			MyBase.Save()
			Dim cmd As Data.IDbCommand = DBHelper.CreateCommand()
			Select Case Me.EntityState
				Case eEntityState.NEW_RECORD
					cmd.CommandText = "Insert into tblUser (strName,dtmBirthday,intAge,decMoney,strRemarks) Values (@strName,@dtmBirthday,@intAge,@decMoney,@strRemarks)"
					DBHelper.AddCmdParameter(cmd, TBC.strName, Name)
					DBHelper.AddCmdParameter(cmd, TBC.dtmBirthday, BirthdayDate)
					DBHelper.AddCmdParameter(cmd, TBC.intAge, Age)
					DBHelper.AddCmdParameter(cmd, TBC.decMoney, Money)
					DBHelper.AddCmdParameter(cmd, TBC.strRemarks, Remarks)
					DBHelper.ExecuteCommand(cmd)
					ID = DBHelper.GetDBIdentity("tblUser", TBC.intID)
					Me.EntityState = eEntityState.NO_CHANGE

				Case eEntityState.CHANGED
					cmd.CommandText = "Update tblUser Set strName=@strName,dtmBirthday=@dtmBirthday,intAge=@intAge,decMoney=@decMoney,strRemarks=@strRemarks Where intID=@intID"
					DBHelper.AddCmdParameter(cmd, TBC.strName, Name)
					DBHelper.AddCmdParameter(cmd, TBC.dtmBirthday, BirthdayDate)
					DBHelper.AddCmdParameter(cmd, TBC.intAge, Age)
					DBHelper.AddCmdParameter(cmd, TBC.decMoney, Money)
					DBHelper.AddCmdParameter(cmd, TBC.strRemarks, Remarks)
					DBHelper.AddCmdParameter(cmd, TBC.intID, ID)
					DBHelper.ExecuteCommand(cmd)
					Me.EntityState = eEntityState.NO_CHANGE

				Case eEntityState.DELETE
					cmd.CommandText = "Delete From tblUser Where intID=@intID"
					DBHelper.AddCmdParameter(cmd, TBC.intID, ID)
					DBHelper.ExecuteCommand(cmd)

			End Select

			cmd.Dispose()
			Return 0
		End Function

#End Region

	End Class

End Namespace

安卓Java《SQLite Bean》:

java 复制代码
package com.NF.Beans;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.NF.BaseBean.BaseEntity;
import com.NF.BaseBean.eEntityState;
import com.NF.utils.DateTools;
import android.content.ContentValues;
import android.database.Cursor;

public class User extends BaseEntity {

	public static final String tblName = "tblUser";

	private int ID = 0;
	private String Name = "";
	private Date BirthdayDate = ComData.MinDate;
	private int Age = 0;
	private BigDecimal Money = new BigDecimal(0);
	private String Remarks = "";

	public User() {
		super();
	}
	public int getID() {
		return ID;
	}

	public void setID(int iD) {
		if (ID != iD) {
			ID = iD;
			super.RecordChanged();
		}
	}

	public String getName() {
		return Name;
	}

	public void setName(String name) {
		if (!Name.equalsIgnoreCase(name)) {
			Name = name;
			super.RecordChanged();
		}
	}

	public Date getBirthdayDate() {
		return BirthdayDate;
	}

	public void setBirthdayDate(Date birthdayDate) {
		if (null != birthdayDate && BirthdayDate.getTime() != birthdayDate.getTime()) {
			BirthdayDate = birthdayDate;
			super.RecordChanged();
		}
	}

	public int getAge() {
		return Age;
	}

	public void setAge(int age) {
		if (Age != age) {
			Age = age;
			super.RecordChanged();
		}
	}

	public BigDecimal getMoney() {
		return Money;
	}

	public void setMoney(BigDecimal money) {
		if (!Money.equals(money)) {
			Money = money;
			super.RecordChanged();
		}
	}

	public String getRemarks() {
		return Remarks;
	}

	public void setRemarks(String remarks) {
		if (!Remarks.equalsIgnoreCase(remarks)) {
			Remarks = remarks;
			super.RecordChanged();
		}
	}

	private ContentValues getContentValues() {
		ContentValues cvs = new ContentValues();
		cvs.put(TBC.intID, this.getID());
		cvs.put(TBC.strName, this.getName());
		cvs.put(TBC.dtmBirthday, DateTools.format(this.getBirthdayDate()));
		cvs.put(TBC.intAge, this.getAge());
		cvs.put(TBC.decMoney, this.getMoney());
		cvs.put(TBC.strRemarks, this.getRemarks());
		return cvs;
	}

	private User getBean(Cursor cursor) {
		User bean = new User();
		bean.setID(cursor.getInt(cursor.getColumnIndex(TBC.intID)));
		bean.setName(cursor.getString(cursor.getColumnIndex(TBC.strName)));
		bean.setBirthdayDate(DateTools.parse(cursor.getString(cursor.getColumnIndex(TBC.dtmBirthday))));
		bean.setAge(cursor.getInt(cursor.getColumnIndex(TBC.intAge)));
		bean.setRemarks(cursor.getString(cursor.getColumnIndex(TBC.strRemarks)));
		bean.setEntityState(eEntityState.NO_CHANGE);
		return bean;
	}

	@Override
	public void save() {
		ContentValues cvs;
		switch (super.getEntityState()) {
		case NEW_RECORD:
			//--注意返回ID,插入时候Key列可以省略等,索引序号增加,可以先赋值新值。
			cvs = getContentValues();
			cvs.remove(TBC.intID);
			ComData.db.insert(tblName, cvs);
			ID = ComData.db.getDBIdentity(tblName);
			super.setEntityState(eEntityState.NO_CHANGE);
			break;
		case CHANGED:
			cvs = getContentValues();
			ComData.db.update(tblName, cvs, TBC.intID + "=?", new String[] { String.valueOf(this.getID()) });
			super.setEntityState(eEntityState.NO_CHANGE);
			break;
		case DELETE:
			ComData.db.delete(tblName, TBC.intID + "=?", new String[] { String.valueOf(this.getID()) });
			break;
		default:
			break;
		}
	}

	public List<User> getAll() {
		List<User> list = new ArrayList<User>();
		Cursor cursor = ComData.db.query("Select * From " + tblName);
		while (cursor.moveToNext()) {
			list.add(getBean(cursor));
		}
		cursor.close();
		return list;
	}

	public User getThis() {
		return getThis(getID());
	}

	public User getThis(int intID) {
		User bean = null;
		String sql = String.format("Select * From %s Where %s=?", tblName, TBC.intID);
		Cursor cursor = ComData.db.query(sql, new String[]{String.valueOf(intID)});
		if (cursor.moveToNext()) {
			bean = getBean(cursor);
		}
		cursor.close();
		return bean;
	}

}

Node.Js的后台处理代码:

javascript 复制代码
//--App router post tblUser--//
router.post('/User', async(req, res, next) => {
    try {
      let results={};
      switch (req.body.type) {
          case "Add":
          case "Update":
          case "Delete":
              results = await db.saveUser(req, res);
              break;
          default:
              results = await db.selectUsers(req, res);
              break;
       }
       res.send(results);
   } catch (err) {
      res.send(getRspSysError(err));
   }
});


//--Save table tblUser--//
db.saveUser = async(req, res) => {
  let sql = "";
  let prs = [];
  let ops = req.body.type + " User";
  if (req.body.type ==="Add") {
    sql = "Insert Into tblUser ( strName,dtmBirthday,intAge,decMoney,strRemarks ) Values (  ?, ?, ?, ?, ? );";
    prs.push(req.body.strName);
    prs.push(req.body.dtmBirthday);
    prs.push(req.body.intAge);
    prs.push(req.body.decMoney);
    prs.push(req.body.strRemarks);
  }else if (req.body.type ==="Update") {
    sql = "Update tblUser Set  strName=?,dtmBirthday=?,intAge=?,decMoney=?,strRemarks=?  Where intID=? ";
    prs.push(req.body.strName);
    prs.push(req.body.dtmBirthday);
    prs.push(req.body.intAge);
    prs.push(req.body.decMoney);
    prs.push(req.body.strRemarks);
    prs.push(req.body.intID);
  }else if (req.body.type ==="Delete") {
    sql = "Delete From  tblUser  Where intID=? ";
    prs.push(req.body.intID);
  }
  return new Promise((resolve, reject) => {
    connection.query(sql, prs,
      (err, results) => {
        return getResponse(err, results, resolve, ops);
      }
    );
  });
};

db.selectUsers = async(req, res) => {
  let sql= "Select * From tblUser;";
  let prs =[];
  let ops ="Get User";
  return new Promise((resolve, reject) => {
    connection.query(sql, prs,
      (err, results) => {
        return getResponse(err, results, resolve, ops);
      }
    );
  });
};

还可以生成很多代码。

相关推荐
高梦轩15 分钟前
PG数据库
数据库·oracle
云草桑25 分钟前
DBA mssql 解决排序规则冲突 QA prod 和开发配置都是一样的服务器排序规则 为啥开发环境的的存储过程需要 加这个COLLATE Chinese_PRC_CI_AS
数据库·dba·mssql
卤炖阑尾炎26 分钟前
MySQL 故障排查与生产环境优化实战指南
数据库·mysql
小陈工37 分钟前
2026年4月2日技术资讯洞察:数据库融合革命、端侧AI突破与脑机接口产业化
开发语言·前端·数据库·人工智能·python·安全
solihawk1 小时前
分区大表统计信息不准确引发的性能问题
数据库
百结2142 小时前
postgresql日常运用
数据库·postgresql·oracle
前进的李工2 小时前
MySQL大小写规则与存储引擎详解
开发语言·数据库·sql·mysql·存储引擎
CoovallyAIHub2 小时前
Sensors 2026 | 从无人机拍摄到跑道缺陷地图,机场巡检全流程自动化——Zadar机场全跑道验证
数据库·架构·github
炸炸鱼.3 小时前
PostgreSQL 日常维护速查手册
数据库·oracle