IBatis.Net系列-多参数的SQL语句的配置
我们在使用IBatis.net操作数据的时候,肯定会碰到SQL参数
当我们有一个参数时,IBatis的xml映射文件如下:
<statement id="getProduct" parameterClass="System.Int32">
select * from PRODUCT where PRD_ID = #value#
</statement>
当我们有多个参数时,xml如下:
<statement id="getProduct" parameterClass="System.Collections.IDictionary">
select * from PRODUCT
where PRD_CAT_ID = #catId#
and PRD_CODE = #code#
</statement>
在代码中必须赋给他一个Hashtable,并且这个Hashtable具有catId和code两个键值,注意要区分大小写。
HashTable实现了System.Collections.IDictionary接口的,所以直接用他应该也是可以的。
当我们执行存储过程的时候,xml如下:
首先定义参数定义集合
<parameterMaps>
<parameterMap id="insertperson" class="Person">
<parameter property="FirstName" column="PER_FIRST_NAME" />
<parameter property="LastName" column="PER_LAST_NAME" />
</parameterMap>
</parameterMaps>
然后定义操作
<!--使用存储过程-->
<procedure id="InsertPerson3" parameterMap="insertperson" resultMap="SelectResult">
usp_InsertPerson
</procedure>
程序代码如下:
public void InsertPerson3()
{
SqlMapper sqlmap = IBatisNet.DataMapper.Mapper.Instance(); Hashtable ht = new Hashtable();
ht.Add("FirstName","姚");
ht.Add("LastName","明2"); sqlmap.Insert("InsertPerson3",ht);
}

注意:Hashtable中的键值名称和参数集合众的property相对应,并且区分大小写.
IBatis.Net系列-多参数的SQL语句的配置的更多相关文章
- 通过带参数的Sql语句来实现模糊查询(多条件查询)
#region 通过带参数的Sql语句来实现模糊查询(多条件查询) StringBuilder sb = new StringBuilder("select * from books&quo ...
- laravel 中的 toSql 获取带参数的 sql 语句
默认情况下,toSql 获取到的 sql 里面的参数使用 "?" 代替的,如下: DB::table('user')->where('id', 1)->toSql(); ...
- MySQL注入 前端int型参数插入SQL语句
类似PHP语言的 mysql_real_escape_string() 的函数,在用来防范SQL注入的时候,可能会遇到int型注入成功的情况. mysql_real_escape_string()用法 ...
- SqlParameter类——带参数的SQL语句
http://blog.csdn.net/woshixuye/article/details/7218770 SqlParameter 类 表示 SqlCommand 的参数,也可以是它到 DataS ...
- jdbc打印sql语句-p6spy配置
@Configuration public class P6SpyConfig { /** * P6数据源包装, 打印SQL语句 */ @Bean public P6DataSourceBeanPos ...
- .Net ADO拼接带参数的SQL语句
首先是在DAL数据访问层中的代码://数据更新的方法public static int shuxing_update(s_passnature model) { string sql = " ...
- 使用带参数的SQL语句向数据库中插入空值
private void button1_Click(object sender, EventArgs e) { string name = textBox1.Text; int age = Conv ...
- SQLSERVER 根据传入的参数拼接sql语句字符串,反馈结果集
ALTER PROCEDURE [dbo].[usp_visit_detail](@siteid BIGINT, @Startime VARCHAR(15), @Endtime VARCHAR(15 ...
- ado.net调用带参数的sql语句
随机推荐
- (三)NAND flash和NOR flash的区别详解
我们使用的智能手机除了有一个可用的空间(如苹果8G.16G等),还有一个RAM容量,很多人都不是很清楚,为什么需要二个这样的芯片做存储呢,这就是我们下面要讲到的.这二种存储设备我们都统称为“FLASH ...
- 当CanTK遇到PhoneGap
有朋友问能不能在CanTK和AppBuilder开发的APP里发送UDP数据,HTML5里只能用HTTPS/HTTP/WebSocket几种通讯方式,要使用UDP需要通过phonegap打包成APK等 ...
- 数据库函数--nvl、coalesce、decode比较
SQL中 nvl().coalesce().decode()这三个函数nvl(bonus,0) 2个参数 if bonus is null return 0 else return bonus,ora ...
- @ExceptionHandler
@Controller public class AccessController { /** * 异常页面控制 * * @param runtimeException * @return */ @E ...
- data structure
转载请注明出处: 我所遇见的世界会更美好 我曾经逢人就说总是遇到这样那样错误无法解决,但是这些问题只要静下心来仔细思考根本没有解决不了的问题. 其实明明,超级超级简单,然而被老师讲的天花乱坠, 栈: ...
- VBA中四种自动运行的宏以及模块的含义
在Excel的“标准模块”中可以创建4种自动运行的宏,它们分别是Auto_Open(打开工作 簿时自动运行), Auto_Close, Auto_Activate, Auto_Deactivate. ...
- ajax轮询session阻塞问题
近来读了几篇关于ASP.NET下Session机制的文章,结合自己的实际应用,有点感想: 在ASP.NET的Session的默认机制下,对同一个SessionID下的用户请求ASP.NE ...
- WPF: DatePicker
获取DatePicker:date_Start上显示的时间date_Start.SelectedDate 比较两个dateTime类型的时间: DateTime StartDate =Convert. ...
- 呆呆的io流输入输出的一些基础
关于io流的File类,下面来码一些基础属性: 文件的属性: /* public String getName() 获取文件的名字 public boolean canRead() 判断文件是否可以读 ...
- HIbernate实现增、删、改、查。
//大配置 <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC " ...