内容发布更新时间 : 2024/11/14 19:49:03星期一 下面是文章的全部内容请认真阅读。
ibatis学习笔记
1、 搭建环境: (1)、创建ibatis_test项目。 (2)、添加SQL2000驱动包msbase.jar、mssqlserver.jar、msutil.jar和ibatis-2.3.3.720.jar包。 2、配置文件: (1)、JDBC连接属性文件:在src目录下添加SqlMap.properties属性文件,主要包括JDBC连
接的主要信息,driver=,url=,username=,password=,也可以见JDBC连接的信息直接写到总配置文件中。
(2)、配置每个实体的映射文件(map文件):
如Student.xml文件,其主要是包括对实体进行CURD操作的SQL语句的映射。 (3)、添加总配置文件:(参见SqlMapConfig.xml文件) 其主要功能是导入SqlMap.properties和Student.xml文件,进行统一管理 3、创建相应的类: (1)、建立实体类Student.java类。 (2)、建立管理类接口StudentDao,和实现类StudentDaoImpl
4、测试CRUD操作:
(1)、在StudentDaoImpl类中添加读取配置
(2)、测试查询所有信息的方法queryAllStudent(),在Student.xml文件中配置SQL
语句映射信息。例如:
<“-- 查找所有用户 -->
public List
List
studntList=sqlMapClient.queryForList(\); } catch (SQLException e) {
在queryAllStudent()方法中使用sqlMapClient的queryForList()方法进行调用:
}
}
// TODO Auto-generated catch block e.printStackTrace();
return studntList;
4、ibatis使用HashMap传递SQL多个参数:
虽然ibatai sql map可以配置多个参数,但sqlMap只能传入一个参数,我们有两种方式,一是把我们的参数封装成一个类,通过set/get取值的方式给sql map注入参数,二是通过hashMap(可以组合一些不是同一个pojo的参数有优势):范例:
<“-- 使用Map解决多参数问题,多条件的查询 -->
select sid,sname ,major,birth,score from t_student
where sname like '%$sname$%' and score=#score#
注意:Map中的值key和类型要和SQL语句的的参数名称和类型一样。在如:
Map map=new HashMap();
map.put(\ key为参数名,value位数据 List list = sqlMap.queryForList(\
5、分页查询,使用page-paglib标签,提供每页分几行pagesize,和排除的记录结束位置
pager.offset参数进行查询。建立PagerModel模型类如:
<“-- 分页查询 -->
6、存储过程的使用: (1)、在SQL SERVER创建存储过程: create procedure pro_delete @sid int,--学生编号 @msg nvarchar(100) output--返回信息 as --定义变量,初始化变量 declare @count int; set @count=0; set @msg='操作成功'; begin select @count = count(*) from t_student where sid =@sid; if @count=0 begin set @msg ='记录不存在。'; return end else begin set @msg ='记录删除成功。'; delete from t_student where sid = @sid; return end end
--测试
declare @msg nvarchar(100)
execute pro_delete 12,@msg output select @msg (2)、配置Students.xml文件: