SQL Artisan1.2版Table模型功能描述
2006-08-13 21:35
218 查看
SQL Artisan有着明确的目标就是代替SQL语句进行数据库操作。虽然目标似乎很遥远,但在新版中已经实现了大部的SQL语句操作,包括在现实项目中面对比较多的多表关联查询和数据统计等。当然SQL Artisan的实现并不是为简单地代替SQL语句,方便灵活地操作数据库才是它的本质。
在1.2版本中主要对O/M部分进行强化,其中大部分的改变集中在Table模型中;通过Table模型可以对数据表进行增、删、改、查等操作,包括比较复杂质多表关联查询和统计。在实际应用中几呼所有数据操作都可以通过Table 模型来完成。
Table[/b]模型的操作方法:[/b]
Insert[/b]
用于表插入数据操作,可以执行映射的实体对象或指定相关字段信息。当Table为关联对象时不能进行此操作。
Update[/b]
用于表更新数据操作,可以执行映射的实体对象或指定相关字段信息。当Table为关联对象时不能进行此操作。
Delete[/b]
用于表删除数据操作,可以执行映射的实体对象或指定相关字段信息。当Table为关联对象时不能进行此操作。
Count[/b]
用于获取表中符合条件的记录数。
List[/b]
用于获取表中符合条件的记录映射到实体对象集中,当Table为关联对象时不能进行此操作。
ListTo[/b]
用于获取表中符合条件的记录映射到自定义实体对象集中,此操作常用于多表关联查询和数据统计。
Table[/b]模型相关操作方法用例(以MSSQL:NorthWind[/b]数据模型为例):[/b]
Insert[/b]方法用例:[/b]
[/b]用例1[/b]
[/b]Employees item = new Employees();
item.FirstName ="fan";
item.LastName ="henry";
item.ReportsTo = 2;
item.BirthDate = DateTime.Parse("1979-1-1");
item.HireDate = DateTime.Parse("2002-12-1");
item.Photo = new byte[0];
Employees.Mapper.Insert(item);
添加一条新的雇员信息
用例2[/b]
Employees.Mapper.Insert(
Employees.Mapper.FirstName.Set("He"),
Employees.Mapper.LastName.Set("LiQing"));
[/b]添加一条新的雇员信息,指定FirstName和LastName的字段值。
Update[/b]方法用例:[/b]
[/b]用例1:[/b]
[/b]Employees item = Employees.Mapper.GetByIndex(3);
item.Notes += "Test_Update";
Employees.Mapper.Update(item);
获取索引为3的雇员对象,修改Notes属性并更新。[/b]
[/b]用例2:[/b]
[/b]Employees.Mapper.Update(Employees.Mapper.FirstName =="Fan",
Employees.Mapper.Notes.Set("update test2"));[/b]
[/b]更新FirstName等于Fan记录的Notes字段值。
Delete[/b]方法用例:[/b]
[/b]用例1:[/b]
[/b]Employees.Mapper.Delete(Employees.Mapper.FirstName =="fan"
| Employees.Mapper.FirstName =="he");
删除FirstNamne等于fan或 等于he的记录。[/b]
[/b]
Count[/b]方法用例:[/b]
[/b]用例1:[/b]
[/b]int count = Employees.Mapper.Count(null);
统计Employees表中所有记录数
[/b]用例2:[/b]
[/b]int count = Employees.Mapper.INNER(Orders.Mapper,Employees.Mapper.EmployeeID)
.Count(Employees.Mapper.EmployeeID ==3);
统计相关Employyes相关所有订单记录数
用例3[/b]
[/b]int count = Orders.Mapper.Count(Orders.Mapper.OrderDate >= DateTime.Parse("1997-7-1") & Orders.Mapper.OrderDate < DateTime.Parse("1997-8-1"));
统计OrderData大于等1997-7-1与小于1997-8-1的所有订单记录数。
List[/b]方法用例:[/b]
[/b]用例1:[/b]
[/b]System.Collections.IList list = Employees.Mapper.List();
获取所有雇员信息。[/b]
[/b]用例2:[/b]
[/b]System.Collections.IList list = Orders.Mapper.Where(Orders.Mapper.OrderDate >= DateTime.Parse("1997-1-1")& Orders.Mapper.OrderDate < DateTime.Parse("1998-1-1")).List();
获取1997-1-1到1998-1-1的所有订单信息.[/b]
[/b]用例3:[/b]
[/b]System.Collections.IList list = Orders.Mapper.Where(Orders.Mapper.OrderDate >= DateTime.Parse("1997-7-1")& Orders.Mapper.OrderDate < DateTime.Parse("1997-8-1") & Orders.Mapper.EmployeeID.In(2,3)).List();
获取1997-7-1到1997-8-1的雇员索引为1,2的所有订单信息
ListTo[/b]方法用例:[/b]
[/b]用例1:[/b]
[/b]System.Collections.IList list= Employees.Mapper.ListTo(typeof(EmployeeV));
根据EmployeeV模型来加载相关信息[/b]
[/b]用例2:[/b]
[/b]System.Collections.IList list =(Orders.Mapper.INNER(Employees.Mapper,Employees.Mapper.EmployeeID)
& Orders.Mapper.INNER(Customers.Mapper,Customers.Mapper.CustomerID)).ListTo(typeof(OrderV));
根据OrderV模型来加载相关信息
[/b]用例3:[/b]
[/b]System.Collections.IList list = Orders.Mapper.ListTo(typeof(EmployeeOrders));[/b]
[/b]用例4:[/b]
[/b]System.Collections.IList list = Orders.Mapper.Where(
Orders.Mapper.OrderDate.Between(
DateTime.Parse("1997-6-1"),
DateTime.Parse("1997-12-31")
)
).ListTo(typeof(EmployeeOrders));
统计出1997-6-1到1997-12-31所有雇员的订单数。[/b]
[/b]用例5:[/b]
[/b]System.Collections.IList list = Orders.Mapper.INNER(OrderDetails.Mapper,Orders.Mapper.OrderID)
.ListTo(typeof(EmployeeSale));
统计雇员销售总金额
[/b]用例6:[/b]
[/b]System.Collections.IList list = Orders.Mapper.INNER(OrderDetails.Mapper,Orders.Mapper.OrderID)
.Where(Orders.Mapper.OrderDate.ToObjectField().Between("1997-6-1","1997-12-31"))
.ListTo(typeof(EmployeeSale));[/b]
[/b]统计出1997-6-1到1997-2-31所有雇员销售金额。[/b]
下载相关用例代码[/b][/b]
下载模型生成工具(支持MSSQL,ORACLE[/b])[/b][/b]
在1.2版本中主要对O/M部分进行强化,其中大部分的改变集中在Table模型中;通过Table模型可以对数据表进行增、删、改、查等操作,包括比较复杂质多表关联查询和统计。在实际应用中几呼所有数据操作都可以通过Table 模型来完成。
Table[/b]模型的操作方法:[/b]
Insert[/b]
用于表插入数据操作,可以执行映射的实体对象或指定相关字段信息。当Table为关联对象时不能进行此操作。
Update[/b]
用于表更新数据操作,可以执行映射的实体对象或指定相关字段信息。当Table为关联对象时不能进行此操作。
Delete[/b]
用于表删除数据操作,可以执行映射的实体对象或指定相关字段信息。当Table为关联对象时不能进行此操作。
Count[/b]
用于获取表中符合条件的记录数。
List[/b]
用于获取表中符合条件的记录映射到实体对象集中,当Table为关联对象时不能进行此操作。
ListTo[/b]
用于获取表中符合条件的记录映射到自定义实体对象集中,此操作常用于多表关联查询和数据统计。
Table[/b]模型相关操作方法用例(以MSSQL:NorthWind[/b]数据模型为例):[/b]
Insert[/b]方法用例:[/b]
[/b]用例1[/b]
[/b]Employees item = new Employees();
item.FirstName ="fan";
item.LastName ="henry";
item.ReportsTo = 2;
item.BirthDate = DateTime.Parse("1979-1-1");
item.HireDate = DateTime.Parse("2002-12-1");
item.Photo = new byte[0];
Employees.Mapper.Insert(item);
添加一条新的雇员信息
用例2[/b]
Employees.Mapper.Insert(
Employees.Mapper.FirstName.Set("He"),
Employees.Mapper.LastName.Set("LiQing"));
[/b]添加一条新的雇员信息,指定FirstName和LastName的字段值。
Update[/b]方法用例:[/b]
[/b]用例1:[/b]
[/b]Employees item = Employees.Mapper.GetByIndex(3);
item.Notes += "Test_Update";
Employees.Mapper.Update(item);
获取索引为3的雇员对象,修改Notes属性并更新。[/b]
[/b]用例2:[/b]
[/b]Employees.Mapper.Update(Employees.Mapper.FirstName =="Fan",
Employees.Mapper.Notes.Set("update test2"));[/b]
[/b]更新FirstName等于Fan记录的Notes字段值。
Delete[/b]方法用例:[/b]
[/b]用例1:[/b]
[/b]Employees.Mapper.Delete(Employees.Mapper.FirstName =="fan"
| Employees.Mapper.FirstName =="he");
删除FirstNamne等于fan或 等于he的记录。[/b]
[/b]
Count[/b]方法用例:[/b]
[/b]用例1:[/b]
[/b]int count = Employees.Mapper.Count(null);
统计Employees表中所有记录数
[/b]用例2:[/b]
[/b]int count = Employees.Mapper.INNER(Orders.Mapper,Employees.Mapper.EmployeeID)
.Count(Employees.Mapper.EmployeeID ==3);
统计相关Employyes相关所有订单记录数
用例3[/b]
[/b]int count = Orders.Mapper.Count(Orders.Mapper.OrderDate >= DateTime.Parse("1997-7-1") & Orders.Mapper.OrderDate < DateTime.Parse("1997-8-1"));
统计OrderData大于等1997-7-1与小于1997-8-1的所有订单记录数。
List[/b]方法用例:[/b]
[/b]用例1:[/b]
[/b]System.Collections.IList list = Employees.Mapper.List();
获取所有雇员信息。[/b]
[/b]用例2:[/b]
[/b]System.Collections.IList list = Orders.Mapper.Where(Orders.Mapper.OrderDate >= DateTime.Parse("1997-1-1")& Orders.Mapper.OrderDate < DateTime.Parse("1998-1-1")).List();
获取1997-1-1到1998-1-1的所有订单信息.[/b]
[/b]用例3:[/b]
[/b]System.Collections.IList list = Orders.Mapper.Where(Orders.Mapper.OrderDate >= DateTime.Parse("1997-7-1")& Orders.Mapper.OrderDate < DateTime.Parse("1997-8-1") & Orders.Mapper.EmployeeID.In(2,3)).List();
获取1997-7-1到1997-8-1的雇员索引为1,2的所有订单信息
ListTo[/b]方法用例:[/b]
[/b]用例1:[/b]
[/b]System.Collections.IList list= Employees.Mapper.ListTo(typeof(EmployeeV));
根据EmployeeV模型来加载相关信息[/b]
[/b]用例2:[/b]
[/b]System.Collections.IList list =(Orders.Mapper.INNER(Employees.Mapper,Employees.Mapper.EmployeeID)
& Orders.Mapper.INNER(Customers.Mapper,Customers.Mapper.CustomerID)).ListTo(typeof(OrderV));
根据OrderV模型来加载相关信息
[/b]用例3:[/b]
[/b]System.Collections.IList list = Orders.Mapper.ListTo(typeof(EmployeeOrders));[/b]
[/b]用例4:[/b]
[/b]System.Collections.IList list = Orders.Mapper.Where(
Orders.Mapper.OrderDate.Between(
DateTime.Parse("1997-6-1"),
DateTime.Parse("1997-12-31")
)
).ListTo(typeof(EmployeeOrders));
统计出1997-6-1到1997-12-31所有雇员的订单数。[/b]
[/b]用例5:[/b]
[/b]System.Collections.IList list = Orders.Mapper.INNER(OrderDetails.Mapper,Orders.Mapper.OrderID)
.ListTo(typeof(EmployeeSale));
统计雇员销售总金额
[/b]用例6:[/b]
[/b]System.Collections.IList list = Orders.Mapper.INNER(OrderDetails.Mapper,Orders.Mapper.OrderID)
.Where(Orders.Mapper.OrderDate.ToObjectField().Between("1997-6-1","1997-12-31"))
.ListTo(typeof(EmployeeSale));[/b]
[/b]统计出1997-6-1到1997-2-31所有雇员销售金额。[/b]
下载相关用例代码[/b][/b]
下载模型生成工具(支持MSSQL,ORACLE[/b])[/b][/b]
相关文章推荐
- SQL模型类-QSqlTableModel模型
- QT笔记:数据库总结(三)之SQL模型类-QSqlTableModel模型
- QT笔记:数据库总结(三)之SQL模型类-QSqlTableModel模型
- SQL Artisan数据库访问组件下一版本完善功能概述
- QT笔记:数据库总结(四)之SQL模型类-QSqlRelationalTableModel模型
- QT笔记:数据库总结(三)之SQL模型类-QSqlTableModel模型
- Qt使用QSqlTableModel执行SQL语句,QLineEdit输入查询条件完成查询功能
- QT笔记:数据库总结(四)之SQL模型类-QSqlRelationalTableModel模型
- ISO网络参考模型分层及每一层功能描述
- SQL Artisan数据库访问组件功能概述
- SQL Artisan 1.3功能使用介绍
- QT笔记:数据库总结(三)之SQL模型类-QSqlTableModel模型
- QT笔记:数据库总结(三)之SQL模型类-QSqlTableModel模型 .
- QtCreator 使用SQL模型类(QSqlQueryModel,QSqlTableModel,QSqlRelationalTableModel)
- QT笔记:数据库总结(四)之SQL模型类-QSqlRelationalTableModel模型
- QT笔记:数据库总结(三)之SQL模型类-QSqlTableModel模型
- QT笔记:数据库总结(三)之SQL模型类-QSqlTableModel模型
- SQL模型类-QSqlTableModel模型
- SQLArtisan1.3功能使用介绍
- 请描述OSI协议中各层模型的名称和个功能?