博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ibatis.Net 数据库操作(四)
阅读量:6553 次
发布时间:2019-06-24

本文共 2980 字,大约阅读时间需要 9 分钟。

一、查询select

  还记得第一篇示例中的是如何读出数据库里的3条数据吗?

  就是调用了一个QueryForList方法,从方法名就知道,查询返回列表。

  1、QueryForList  返回List<T>强类型数据集合

  来看看方法原型:

public IList
QueryForList
(string statementName, object parameterObject);public IList QueryForList(string statementName, object parameterObject);public void QueryForList
(string statementName, object parameterObject, IList
resultObject);public void QueryForList(string statementName, object parameterObject, IList resultObject);public IList
QueryForList
(string statementName, object parameterObject, int skipResults,int maxResults);public IList QueryForList(string statementName, object parameterObject, int skipResults, int maxResults);

  有原型可以看出,其实只是3个参数不同方法,只是分为泛型与非泛型两个版本而已。

  这个主要说说,参数skipResults,表示从结果行掉过skipResults行后返回,maxResults表示返回的行数。这个在分页中应该会用到。

  下面来看一个最简单的示例:

  xml映射文件中

  程序中的代码:

  IList
ListPerson = mapper.QueryForList
("SelectAllPerson", null);

  返回就是IList<PersonModel>的集合实例了。这个不多说。

  2、QueryForObject  返回一行数据对应程序的实体类实例

  下面来看看方法原型:

public object QueryForObject(string statementName, object parameterObject);public T QueryForObject
(string statementName, object parameterObject);public T QueryForObject
(string statementName, object parameterObject, T instanceObject);public object QueryForObject(string statementName, object parameterObject, object resultObject)

  不多说,下面来看看实例:

  xml映射文件:

  程序代码:

  PersonModel p = mapper.QueryForObject
("SelectOnePerson", 1);   //1就是存入Sql语句的参数

  返回就是一个PersonModel对象的实例了。

  3、QueryWithRowDelegate  通过委托过滤返回的数据

  下面来看看方法原型:

IList
QueryWithRowDelegate
(string statementName, object parameterObject, RowDelegate
rowDelegate); IList QueryWithRowDelegate(string statementName, object parameterObject, RowDelegate rowDelegate);

  4、QueryForDictionary

  5、QueryForMap

  以上两个都不懂,看以后有没有用到,再算吧。

二、Insert

  insert插入数据的方式比较简单,就只得一个方法Insert方法:

  
  insert into Person (Name)  values(#Name#)    
    SELECT CAST(@@IDENTITY as int) as Id    
  

  因此此处Id设为了自增,所以SQL语句里面并不需要再设置Id

  程序代码如下:

  PersonModel p = new PersonModel();  p.Name = "曹操";  return (int)mapper.Insert("InsertOne",p);

三、Update

  Update方法同样简单,也只是条用一下Update方法。

  映射文件:

Update Person Set Name = #Name# Where Id = #Id#

  程序代码如下:

  PersonModel p = new PersonModel();  p.Id = 5;  p.Name = "张三";  return (int)mapper.Update("UpdateOne", p);

四、Delete

  删除方法与上面一样,我都感觉自己都有点啰嗦了。

   映射文件:

Delete Person Where Id = #Id#

  程序代码:

  PersonModel p = new PersonModel();  p.Id = 5;  p.Name = "张三";  return (int)mapper.Delete("DeleteOne", p);  //return (int)mapper.Delete("DeleteOne", 5);  //另外这样也可以

 

 

转载地址:http://sjjco.baihongyu.com/

你可能感兴趣的文章
短链接,长链接
查看>>
ubuntu下设置adb环境变量
查看>>
.net 简单循环
查看>>
从HTTP到JDBC完整访问路径日志实现思路
查看>>
DOS常用命令
查看>>
Android 自定义SwitchButtonView实践
查看>>
记录一次linux病毒清除过程
查看>>
linux常用命令目录
查看>>
Lisp-Stat 翻译 —— 第四章 其它Lisp特性
查看>>
关于VS2010中error LNK 2019: unresolved external sy...
查看>>
oracle 分页查询
查看>>
mysql添加sequence 自增序列
查看>>
spark on yarn 如何集成elasticsearch
查看>>
动态生成进度条
查看>>
cannot run test program while cross compiling问题
查看>>
JS中的return; return true; return false;
查看>>
Websphere Application Server(版本:8.0.0.3)JMS配置(m...
查看>>
android 技术
查看>>
分想下用highcharts制作的3d饼图
查看>>
WordPress原创主题制作(十二):收关总结
查看>>