ホームページ >バックエンド開発 >PHPチュートリアル >Java C# PHP バージョンに適した Atitit.ati orm の設計とアーキテクチャの概要

Java C# PHP バージョンに適した Atitit.ati orm の設計とアーキテクチャの概要

WBOY
WBOYオリジナル
2016-06-13 12:23:53952ブラウズ

Atitit.ati orm の設計とアーキテクチャの概要は java c# php バージョンに適しています

Atitit.ati orm の設計とアーキテクチャの概要java c# に適していますphpバージョン

1

1.1。 1

1 .2 .Hbapi(meger,save,update,del)1

2オームの概念 1

3

ニュースobj2

4

>

1. オルムのゴール

1.1. ニュースobj

1.2.Hbapi(meger,save,update,del)

2. オームの概念

saveOrUpdate 後のオブジェクトは、データベースと同期され、再度クエリを実行すると、セッションから直接取得されます。マージされたオブジェクトは再度クエリに含まれません。 .

休止状態の場合、そのオブジェクトには一時的な 3 つの状態があります。 、persistent、detached

一般的な翻訳方法は次のとおりです:

transient: 一時的または自由な状態

persistent: 永続的な状態

detached: デタッチ状態またはフリー状態

デタッチ状態のインスタンスは save( )、永続化のためのpersist()またはsaveOrUpdate()メソッド。

永続化とマージ: データベースと同期されません

保存と更新: 処理されたデータは永続的な状態になります。つまり、データベースと同期するために SQL が呼び出されます。

一般に、長時間のトランザクション処理には永続化とマージを使用する必要があります。データベース インタラクションを減らす

著者:: 老Wow的paw Attilax Ai Long さん EMAIL:[email protected]

転載する場合は出典を明記してください: http://blog.csdn.net/attilax

3. アニメーション态obj

Proj.amazon .spider

public オブジェクト hanlder(オブジェクト obj, ClassLibrary1.com.attilax.lang.FilterFilterChain nextChain)

{

辞書 <文字列,オブジェクト> ormObj = 新しい 辞書<文字列, object>();

ormObj.Add("テーブル", "ecs_goods");

辞書<文字列,オブジェクト>; flds_frm = (辞書<文字列,オブジェクト>)obj;

辞書<文字列 オブジェクト> flds = 新しい 辞書<文字列, object>();

flds.Add("商品名", flds_frm["タイトル"]);

flds.Add("goods_desc", "goods_descxxx");

// flds.Add("good_nam

ormObj.Add( "フィールド", flds);

AtiOrmX ormx = (AtiOrmX)新しい IocX().getBean("ormx");

return ormx.save(ormObj);

}

------コード

public class AtiOrmX

{

public IOC ioc;

public オブジェクト save(オブジェクト ormObj)

{

文字列 sql = SqlX.getSql(ormObj);

コンソール.WriteLine("--orm sql:" + sql);

DbUtil dbx = (DbUtil)ioc.getBean( "dbx");

return dbx.exec(sql) );

}

}

public クラス SqlX

{

public static string getSql( オブジェクト ormObj)

{

// throw new NotImplementedException();

辞書<文字列オブジェクト> ormobjMap = ((辞書<文字列,オブジェクト>)ormObj ) ;

辞書<文字列,オブジェクト> fldMap = (辞書<文字列,オブジェクト>)ormobjMap[ "fields"];

System.Collections .Generic.リスト<オブジェクト> flds = 新しい リスト<オブジェクト>>();

System.Collections.Generic.リスト<オブジェクト> fld_vals = 新しい リスト<オブジェクト>>();

foreach (var item in fldMap)

{

fld s.Add( item.Key);

fld_vals.Add("'"+ item.Value+"");

コンソール.WriteLine(item.Key) + item.Value);

}

文字列 fld_s = ListX.join(",", flds);

文字列 v_s = ListX.join(",", fld_vals);

文字列 sql = " insert into " + ormobjMap["テーブル"] + "(@flds)values(@vs)";

sql = sql.Replace("@flds", fld_s); sql = sql.Replace("@vs", v_s);

return sql;

}

}

public class DbUtil

{

public オブジェクト exec(string sql)

{

MySqlConnection mysqlcon = this.getmysqlcon();

mysqlcon.Open();

MySqlCommand mysqlcom = new MySqlCommand(sql, mysqlcon);

int r = mysqlcom.ExecuteNonQuery();

mysqlcom.Dispose();

mysqlcon.Close();

mysqlcon.Dispose();

return r;

}

------ioc

facMap.Add("dbx",() =>

{

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。