资料讲义t2ibatis核心组件_第1页
资料讲义t2ibatis核心组件_第2页
资料讲义t2ibatis核心组件_第3页
资料讲义t2ibatis核心组件_第4页
资料讲义t2ibatis核心组件_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

T2Ibatis核心组件回顾开发过程Ibatis开发步骤。在SQL的语句操作的对象是表,还是对象?能否在DAO中建立查询语句?本讲目标主配置解析数据映射过程Ibatis处理级联加载Ibatis实现模糊查询Ibatis事务管理Ibatis通过transactionManager管理事务,dataSource是子元素主要用来管理数据源使用此类管理事务此类负责数据库连接管理JNDI数据源SIMPLE数据源只提供基本数据源实现主要适用无容器数据源时,优先采用.问题:如何优化数据源的访问?采用容器提供数据源采用WEB服务器或应用服务器提供的数据源,如JBoss等优点:将数据源交给中间件拖管提高访问效率缺点:性能取决于中间件.需开销额外中间件资源维护管理复杂容器数据源名称,按JDNI目录查找数据源类型通过属性文件管理数据源1.新建perties以键-值的方式保存连接参数,对XML文件进行解耦2.通过自身标签引入至主配置文件配置数据源访问属性文件中参数引入数据源的属性文件加载属性文件中的键值,名称要与键一致框架性属配置如何设定框架属性值?如事务并发数?缓存模式?通过<setting>元素进行设定.作用主要用来配置、优化框架各选项是否启用缓存模式是否启用字节码增强功能,以优化访问POJO属性,及延迟加载性能启用所有延迟加载是否启动全局的sqlmap名字空间。如果启动则应用时,必须加上名字空间最大会话数、事务数、请求数映射配置IbatisMapped主要类型statement类型select类型insert类型update类型delete类型procedure类型Statement类型万能型标签<statement>可以应用于任何语句.参数应用广泛如:ID为必选属性。[]代表可选属性实现查询实现添加案例演示传入参数类结果类型自定义参数自定义结果类型缓存类类名查询标签<select>标签主要用于检索数据返回类型主要有resultClass和resultMap两种类型resultClass类型:表示返回的参数类型为Class类型resultMap类型:表示返回类型为自定义Map类型resultClass类型引用类型基本类型查询每个部门人数查询所有员工将表的数据自动映射到pojo要求:字段和属性名称一致如果属性不一致?关联属性?如何指定返回类型!通过ResultMapresultMap类型resultMap类型是最常用的一种类型特点:事先定义好类型数据.适用于pojo属性与表中属性不一致时使用.适用于复杂类型,关联关系对象的加载.如一对一、一对多等如:表中列属性与Pojo中属性不一致resultMap类型使用通过<resultMap>定义resultMap类型查询时指定返回类型为resultMap型参数类型名称来自ID属性值复合resultMap类型ResultMap对关联关系的映射.如多对一、一对多Hibernate:通过各种不同 的关联标签来映射关系。Ibatis:通过SQL语句来进行映射各种关系。通过查询检索关联记录对关联属性进行映射针对基本类型数据可以通过#value#来作为参数.Integer也可写为int复合Map类型属性一对多加载传入的参数类型和返回类型。返回Emloyee对象存入至Set集合中员工表的字段。在查询部门时,将列的值作为条件查询员工复合Map类型属性问题?在部门表中有查询员工的SQL?

通过使用命名空间进行管理以方便进行维护,如果不指定则全部采用默认命名空间查询时相应带上命名空间非查询标签<insert>标签进行添加映射<update>标签进行修改映射<delete>标签进行删除映射共同属性属性名描述id表示SQLStatement唯一标识名称parameterClass表示传入SQLstatement的参数类型parameterMap表示自定义传入参数Map类型名称parameterClass类型一般使用在SQL语句需要传入参数的地方。 如:根据参数进行查询根据参数类型进行保存传入参数类型返回参数类型parameterMap类型与parameterClass相比这种更像是一种自定义的数据类型。事先定义好每个属性的数据类型在使用时,不需要采用##指定参数。直接采用?占位符来指定。javaType指定Pojo中数据类型JdbcType指定表中数据类型。如果不指定将采用自动转换。parameterMap类型对关联属性处理,添加员工时指定部门department对应Pojo中属性。最后一个问号对应关联所属部门,将department中did值通过最后一个问号占位符和部门进行关联insert对主键自增处理问题:在持久化过程中如何实现自动增长?Oracle序列实现自增SQLServer实现自增Select标签实现模糊查询普通查询查询所有姓‘张’员工信息?查询时传入参数:”张”。但未能检索所有姓’张’的员工。该如何实现?。。未加入’%’吗?出错了?原因:#号中间表示参数,前面不能有%,否则语法有误SQL语句如下模糊查询解决方法!方法(一)在传入参数时,将‘%’也一并传入进来。如:方法(二)通过不同的数据库特性和函数实现MySQLOracle方法(三)通过$取代#进行传参用$代替#对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论