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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

ibatis开发.docx

1、ibatis开发iBatis是又一个O/R Mapping解决方案,j2ee的O/R方案真是多,和Hibernate相比,iBatis最大的特点就是小巧,上手很快。如果你不需要太多复杂的功能,iBatis是能满足你的要求又足够灵活的最简单的解决方案。iBatis最大的特点是简单,最新版本2.0(下载),和1.0相比,主要改动在XML配置文件上,不过,只要有SQL基础,相信你不用教程也能看明白。下面我们看一个最简单的例子入门。我们先建一个表Account,包括字段username,varchar(20), pk和password, varchar(20),随便填入一些数据。然后编写iBatis必

2、须的配置文件sql-map-config.xml,文件名随意,内容如下:!DOCTYPE sqlMapConfig PUBLIC -/iBATIS.com/DTD SQL Map Config 2.0/EN 其他部分你不用管它,我是直接copy的示例配置,只需注意红色部分,配置好数据源即可。我用的是Access,所以用JdbcOdbc驱动。如果你用MySQL或其他数据库,更改相应的属性。然后注意到这个配置文件还引用了一个Account.xml,没错,iBatis把每个需要O/R Mapping的Java对象关联到一个xml配置文件,我们需要把一个Account表映射到一个Account类:pa

3、ckage example;public class Account private String username; private String password; public String getUsername() return username; public void setUsername(String username) this.username=username; public String getPassword() return password; public void setPassword(String password) this.password=passw

4、ord; 编写Account.xml文件:!DOCTYPE sqlMap PUBLIC -/iBATIS.com/DTD SQL Map 2.0/EN select * from Account whereusername = #value# insert into Account (username, password) values ( #username#, #password# ) 我们主要关心红色部分。以为例,这里定义了一个查询方法,名字为getAccount,传入参数为String,返回类型resultClass就是example.Account类,select语句相信你已经很熟悉

5、了,#value#是我们将要传进去的String。与之类似,不过注意到#username#和#password#,由于参数是Account类,它们将被 Account.getUsername()和Account.getPassword()替换。所以,只要你会写SQL,就能非常容易地写出配置文件。最后便是如何使用iBatis实现O/R映射。首先初始化iBatis获得一个SqlMapClient对象:com.ibatis.sqlmap.client.SqlMapClient sqlMap = null; try java.io.Reader reader = mon.resources.Resou

6、rces.getResourceAsReader (sql-map-config.xml); sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader); catch (Exception e) e.printStackTrace(); 然后就可以异常方便地使用O/R Mapping了,比如查询username=admin的Account: try Account accout = (Account)sqlMap.queryForObject(getAccount, admin); . 或者创建一个新的Account: try Account

7、account = new Account(); account.setUsername(micheal); account.setPassword(1234); sqlMap.insert(createAccount, account); 运行时把两个配置文件和iBatis的3个jar包放到classpath中,要求jdk1.4版本。总结:iBatis确实简单灵活,上手容易,代码很少,配置稍嫌复杂。不足之处一是没有方便的工具来自动生成xml配置文件,二是不管是query还是 insert都只能传入一个参数,有时不得不把两个参数包装成一个类传进去。另外对常见的1:1,1:N关系的支持不如Hib

8、ernate。不过,大多数 时候iBatis已经完全可以满足我们的需求。Spring很好的集成了iBatis,你可以参考Spring的JPetStore示例。需要注意的是使 用iBatis 2.0和1.0有较大区别,主要体现在配置文件上,iBatis 2.0新增了DAO框架,不需要Spring提供的DAO也能很方便地实现DAO模式。介绍iBATIS是以SQL为中心的持久化层框架。能支持懒加载、关联查询、继承等特性。iBATIS不同于一般的OR映射框架(eg:hibernate)。OR映射框架,将数据库表、字段等映射到类、属性,那是一种元数据(meta-data)映射。iBATIS则是将SQL查

9、询的参数和结果集映射到类。因此可以说,iBATIS做的是SQL Mapping的工作。它把SQL语句看成输入以及输出,结果集就是输出,而where后面的条件参数则是输入。iBATIS能将输入的普通POJO对象、Map、XML等映射到SQL的条件参数上,同时也可以将查询结果映射到普通POJO对象(集合)、Map、XML等上面。iBATIS使用xml文件来映射这些输入以及输出。能大大减少数据库存储部分的代码量,而且可以非常方便的利用SQL中的一些小技巧。简单示例基于ibatis-2.3.0.677版本。1、创建新的项目,并引入jar包a) ibatis-2.3.0.677.jarb) mysql驱

10、动2、在类路径中(classes下)提供ibatis的配置文件:sqlMapConfig.xml 3、创建实体类:User.javapackage com.ibatis.model;publicclass User privateintid; private String username; private String password; publicint getId() returnid; publicvoid setId(int id) this.id = id; public String getPassword() returnpassword; publicvoid setPas

11、sword(String password) this.password = password; public String getUsername() returnusername; publicvoid setUsername(String username) this.username = username; 4、创建针对User对象的CRUD的xml映射配置:User.xml select * from t_userselect * from t_user where id=#id#insert into t_user values ( null,#username#,#passwor

12、d#)update t_user set username = #username#,password=#password#where id=#id#delete from t_user where id=#id#5、创建测试程序测试:package com.crm.model;import java.io.Reader;import java.util.Iterator;import java.util.List;import mon.resources.Resources;import com.ibatis.sqlmap.client.SqlMapClient;import com.iba

13、tis.sqlmap.client.SqlMapClientBuilder;/*最简单的形式!*authorq*/publicclass UserTest /* *paramargs */ publicstaticvoid main(String args) throws Exception /从配置文件中得到SqlMapClient对象 Reader reader = Resources.getResourceAsReader(sqlMapConfig.xml); SqlMapClient sqlMapper = SqlMapClientBuilder.buildSqlMapClient(r

14、eader); reader.close(); /创建用户数据 for(int i=0; i10; i+) User user = new User(); user.setUsername(用户+i); user.setPassword(密码+i); sqlMapper.insert(insertUser, user); /查询用户数据 List users = sqlMapper.queryForList(selectAllUsers); for (Iterator iter = users.iterator(); iter.hasNext();) User user = (User) it

15、er.next(); System.out.println(user.getUsername(); /查询特定用户的数据 User user = (User)sqlMapper.queryForObject(selectUser, 1); System.out.println(用户【id=+1+】的名称是:+user.getUsername(); /更新用户的信息 user = new User(); user.setId(3); user.setUsername(更改之后的用户名称); user.setPassword(密码被更改); sqlMapper.update(updateUser, user); /删除用户的信息 sqlMapper.delete(deleteUser, 6);

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

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