JVPL和mvc設計模式類似
第一部分 另類的MVC架構JVPL架構
(JVPL模式的系統結構圖)
JVPL和mvc設計模式類似
MVC讓開發從原來的 webform中解脫出來
其次因為實際開發中沒有銀彈
說明:JVPL設計模式與傳統的ASP
實例一:程序配置
<appSettings>
<add key=
<add key=
<add key=
<add key=
</appSettings>
//
引用Moon
//
//
html結構
<%@ Page Language=
<!DOCTYPE html PUBLIC
<html xmlns=
<head>
<title>model加載和數據更新</title>
<meta http
<script type=
<script type=
<script>
var pID=
$(function () {
Qin_LoadDataToDom
alert(data
pID=data
});
});
function AjaxUpdateUserInfo() {
var ID =pID;
_TableName=
Qin_AjaxUpdate(
alert(
});
}
</script>
</head>
<body>
<form id=
<input id=
<table style=
<tr>
<td>
姓名:
</td>
<td>
<input field=
</td>
</tr>
<tr>
<td>
性別
</td>
<td>
<input name=
value=
</td>
</tr>
<tr>
<td>
年齡
</td>
<td>
<input field=
</td>
</tr>
<tr>
<td>
北京戶口
</td>
<td>
<input field=
</td>
</tr>
<tr>
<td>
年齡段
</td>
<td>
<select field=
</td>
</tr>
</table>
<input type=
</form>
</body>
</html>
兩處黃色部分
[Log()]//加載的代碼
public static void GetUserInfo()
{
PersonSet data= DBFactory
CustomData cus=new CustomData();
cus
ReturnJSONString(data
}
[Log()]//更新部分的代碼(代碼生成器會自動生成)
public static void AjaxUpdateUserInfo()
{
PersonSet data=new PersonSet();
string UserName=Request[
string Sex=Request[
string Age=Request[
string IsBeiJing=Request[
string AgePeriod=Request[
string otherData=Request[
string PrimaryKey=Request[
data
data
data
data
data
data
DBFactory
ReturnTextString(PrimaryKey);
}
//
第二部分 高效便捷的ORM架構
針對Qin
Moon
高性能(該框架采用純的ADO
易用性強(配置簡單
多數據庫支持(如果需要可自我擴增
強大查詢語法糖功能
多數據源支持
4、配置簡單
<appSettings>
<add key="dbType" value="MSSQL" />
<!--數據庫的類型 還可以寫MYSQL,SQLITE,ACCESS等....—>
<add key="linkString" value="Server=mainserver;database=HD01SystemDB;Uid=sa;Pwd=123" />
</appSettings>
代碼功能演示
using System;
using System.Collections.Generic;
using Moon.Orm;
using MoonDB;
namespace r
{
class Program
{
public static void Main(string[] args)
{
//數據添加
PersonSet person=new PersonSet();
person.Age=133;
person.AgePeriod=1;
person.IsBeiJing=true;
person.Sex=true;
person.UserName="秦仕川";
DBFactory.Add(person);
Console.WriteLine("新的數據唯一識別標志:"+person.GetOnlyMark());
//另類數據添加
person.Set(PersonSetTable.UserName,"另類");
person.Set(PersonSetTable.Age,12);
person.Set(PersonSetTable.AgePeriod,11);
person.Set(PersonSetTable.IsBeiJing,false);
person.Set(PersonSetTable.Sex,true);
DBFactory.Add(person);
Console.WriteLine("新的數據11唯一識別標志:"+person.GetOnlyMark());
//數據刪除
long ret= DBFactory.DeleteWhen(PersonSetTable.IsBeiJing.Equal(1).And(PersonSetTable.Age.BiggerThan(12)));
Console.WriteLine("被刪除的條數:"+ret);
//改數據
person.UserName="另類修改後";
person.SetOnlyMark(PersonSetTable.UserName.Equal("另類"));
DBFactory.Update(person);
//查詢
PersonSet p=DBFactory.GetEntity<PersonSet>(
PersonSetTable.UserName.Equal("另類修改後"));
Console.WriteLine(p.Age);
//查詢一個字段
int age=DBFactory.GetOneField<int>(PersonSetTable.Age, PersonSetTable.ID.Equal(5));
Console.WriteLine(age);
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}
實體代碼生成器
數據庫升級問題(我們常常面臨數據庫表的變動問題)
Moon.ORM中不必擔心這些東西,因為實體全由代碼生成器生成,更新一次數據庫,你重新生成一次DLL(代碼生成器帶有編譯功能)
From:http://tw.wingwit.com/Article/program/net/201311/12132.html