- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ibatis学习笔记
ibatis学习笔记
搭建环境:
(1)、创建ibatis_test项目。
(2)、添加SQL2000驱动包msbase.jar、mssqlserver.jar、msutil.jar和ibatis-20.jar包。
2、配置文件:
(1)、JDBC连接属性文件:在src目录下添加SqlMperties属性文件,主要包括JDBC连接的主要信息,driver=,url=,username=,password=,也可以见JDBC连接的信息直接写到总配置文件中。
(2)、配置每个实体的映射文件(map文件):
如Student.xml文件,其主要是包括对实体进行CURD操作的SQL语句的映射。
(3)、添加总配置文件:(参见SqlMapConfig.xml文件)
其主要功能是导入SqlMperties和Student.xml文件,进行统一管理
3、创建相应的类:
(1)、建立实体类Student.java类。
(2)、建立管理类接口StudentDao,和实现类StudentDaoImpl
4、测试CRUD操作:
(1)、在StudentDaoImpl类中添加读取配置
(2)、测试查询所有信息的方法queryAllStudent(),在Student.xml文件中配置SQL语句映射信息。例如:
“-- 查找所有用户 --
select id=selectAllStudents resultClass=Student
select * from t_student;
/select
在queryAllStudent()方法中使用sqlMapClient的queryForList()方法进行调用:
public ListStudent queryAllStudent() {
ListStudent studntList = null;
try {
studntList=sqlMapClient.queryForList(selectAllStudents);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return studntList;
}
4、ibatis使用HashMap传递SQL多个参数:
虽然ibatai sql map可以配置多个参数,但sqlMap只能传入一个参数,我们有两种方式,一是把我们的参数封装成一个类,通过set/get取值的方式给sql map注入参数,二是通过hashMap(可以组合一些不是同一个pojo的参数有优势):范例:
“-- 使用Map解决多参数问题,多条件的查询 --
statement id=selectStudentByMap parameterClass=java.util.Map resultClass=Student
select sid,sname ,major,birth,score
from t_student
where sname like %$sname$%
and score=#score#
/statement
注意:Map中的值key和类型要和SQL语句的的参数名称和类型一样。在如:
select id=getPeopleList resultClass=model.User parameterClass=java.util.Map“[CDATA[???? select * from test where name like %$name$%]]/select
? Map map=new HashMap();? map.put(name, gaoxiang);??? key为参数名,value位数据??List list = sqlMap.queryForList(getPeopleList, map);
5、分页查询,使用paglib标签,提供每页分几行pagesize,和排除的记录结束位置pager.offset参数进行查询。建立PagerModel模型类如:
“-- 分页查询 --
select id=multiPageSelect parameterClass=PagerModel resultClass=Student
select top $pagesize$ sid,sname ,major,birth,score
from t_student
where sid not in (select top $end$ sid from t_student
文档评论(0)