ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:19.01KB ,
资源ID:6132615      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6132615.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SqlMapClient对象.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SqlMapClient对象.docx

1、SqlMapClient对象SqlMapClient对象这个对象是iBatis操作数据库的接口(执行CRUD等操作),它也可以执行事务管理等操作。这个类是我们使用iBATIS的最主要的类。它是线程安全的。通常,将它定义为单例。(与hibernate中sessionFactory的定义类似)。如:import java.io.Reader;import mon.resources.Resources;import com.ibatis.sqlmap.client.SqlMapClient;import com.ibatis.sqlmap.client.SqlMapClientBuilder;pu

2、blic class IbatisSQLMapConfig private static final SqlMapClient sqlMap; /在静态区块中初试化返回 static try /声明配置文件的名称(映射文件被定义在其中) String resource = sql_map_config.xml; /利用工具类Resources来读取到配置文件 Reader reader = Resources.getResourceAsReader(resource); /创建SqlMapClient接口的变量实例 sqlMap = SqlMapClientBuilder.buildSqlMa

3、pClient(reader); catch (Exception e) e.printStackTrace(); throw new RuntimeException( Error initializing MyAppSqlConfig class. Cause: + e); public static SqlMapClient getSqlMapInstance() /提供静态方法返回静态区块中得到的SqlMapClient return sqlMap; 主要用法:如何获得刚插入记录的自增长ID值?以下所有虚线上面代表User.xml中的内容,虚线下方是测试类中的内容:User类沿用上一篇

4、中的User类insert into t_user values ( null,#username#,#password#) SELECT IDENTITY AS ID User user = new User(); user.setUsername(张三); user.setPassword(张三密码); /如果主键是自动生成的,则其返回值可以通过标签来设置 /如果不通过标签来设置,则返回值为空! /中的keyProperty,是指定User中的id属性,当调用结束之后, /user对象的id值和insert方法的返回值都是这条记录的ID值! Object obj= sqlMapper.in

5、sert(insertUser, user);parameterClass的使用insert into t_user values ( null,#username#,#password#) SELECT IDENTITY AS IDinsert into t_user values ( null,#username#,#password#) SELECT IDENTITY AS IDinsertUser使用了parameterClass,所以必需传入User类型的对象 User user = new User(); user.setUsername(张三); user.setPassword

6、(张三密码); /传递进去的对象,必须是User类型 Object obj= sqlMapper.insert(insertUser, user);insertUser2没有使用parameterClass,所以可以传入任意具有相应属性值的对象 JustAnObject anobj = new JustAnObject(); anobj.setUsername(用户名); anobj.setPassword(用户密码); /如果没有指定parameterClass属性,则任何一个具有相应属性值 /的对象都可以被传递进去 Object obj= sqlMapper.insert(insertUs

7、er2, anobj);parameterMap的使用insert into t_user values ( null,?,?) SELECT IDENTITY AS IDparameterMap用于传入参数,以便匹配SQL语句中的?号 User user = new User(); user.setUsername(张三dd); user.setPassword(张三密码dd); Object obj= sqlMapper.insert(insertUser, user);利用parameterMap,可以定义参数对象的属性如何映射到SQL查询语句的动态参数上,注意parameterMap中

8、标签的先后顺序不能颠倒!如何将查询结果映射到不同的对象?(resultClass的使用)package com.ibatis.model;publicclassOtherObject privateintid; private String prop1; private String prop2; publicint getId() returnid; publicvoid setId(int id) this.id = id; public String getProp1() return Prop1; publicvoid set Prop1 (String Prop1) this. Pr

9、op1 = Prop1; public String getProp2() returnusername; publicvoid setProp2 (String Prop2) this.Prop2 = Prop2; select username as prop1,password as prop2from t_user where id=#value# /查找t_user表,将其结果映射到一个属性名不同的对象中! OtherObject obj = (OtherObject)sqlMapper.queryForObject(selectUserForOtherObject, 1); Sys

10、tem.out.println(obj.getProp1()+,+obj.getProp2();如何将查询结果集映射到不同的对象?(resultMap的基本使用) select username, password from t_user where id=#value# /查找t_user表,将其结果映射到一个属性名不同的对象中! OtherObject obj = (OtherObject)sqlMapper.queryForObject(selectUserForOtherObject2, 17); System.out.println(obj.getProp1()+,+obj.getP

11、rop2();如何将查询结果集映射为xml格式的数据?select * from t_user where id=#value#select * from t_user /查找t_user表,将其结果映射到xml! /返回值是xml形式的字符串 Object obj = (Object)sqlMapper.queryForObject(selectXmlData, 1); System.out.println(obj); /查找t_user表,将其结果映射到xml! List list = (List)sqlMapper.queryForList(selectXmlDatas); System

12、.out.println(list);如何用Map类型的对象作为传入参数?insert into t_user values ( null,#username#,#password#) Map user = new TreeMap(); user.put(username, Map用户); user.put(password, Map用户密码); sqlMapper.insert(insertUser,user);如何将查询结果集的元素转换为Map类型的对象?select * from t_user List list = (List)sqlMapper.queryForList(select

13、MapUsers); System.out.println(list); for (Iterator iter = list.iterator(); iter.hasNext();) Map map = (Map) iter.next(); /可在此输出map的数据 事务处理可以使用sqlMapClient的startTransaction/commitTransaction/endTransaction等方法来控制事务的边界。如果与spring整合(这是iBatis推荐的方式),则我们需要在spring配置文件中指定其事务特性。其他写法:SqlMapConfig.xmlXML code!DO

14、CTYPE sqlMapConfig PUBLIC -/iBATIS.com/DTD SQL Map Config 2.0/EN 在xml文件中有以下几类字符要进行转义替换:<大于号&&和'单引号"双引号ibatis多个参数的查询1)用 MapSELECT count(*) AS value FROM userinfo WHERE uid=#uid# and pwd=#pwd#这种办法显得要清楚的很多,也不需要自己手动编写sql到java之中。Map map=new HashMap();map.put(uid, username);map.put(pwd, password);Integer r = (Integer) sqlMap.queryForObject(checkLogin2, map);在java中首先生成需要的map,然后作为输入参数传入即可。这个方法应该是比较好的,值得推荐。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1