Ibatis学习总结1--ibatis简介和SQL Maps
最佳维护的一个项目使的是ibatis框架,在闲暇之余将手头的开发手册和平时开发的理解做一下总结,言归正传。
- 简介
使用 SQL Map,能够大大减少访问关系数据库的代码。SQL Map 使用简单的 XML 配 置文件将 Java Bean 映射成 SQL 语句,对比其他的数据库持续层和 ORM 框架(如 JDO 的 实现,Hibernate 等),SQL Map 最大的优点在于它简单易学。要使用 SQL Map,只要熟悉 Java Bean,XML 和 SQL,就能使您充分发挥 SQL 语句的能力。总之,ibatis是一个SQL Mapping,简单易用,方便sql调优,优化系统性能。
- SQL Maps
SQL Map 的概念
SQL Map API 让开发人员可以轻易地将 Java Bean 映射成 PreparedStatement 的输入参数 和 ResultSet 结果集。开发 SQL Map 的想法很简单:提供一个简洁的架构,能够用 20%的代 码实现 80%JDBC 的功能。
SQL Map 如何工作?
SQL Map 提供了一个简洁的框架,使用简单的 XML 描述文件将 Java Bean,Map 实现 和基本数据类型的包装类(String,Integer 等)映射成 JDBC 的 PreparedStatement。以下流 程描述了 SQL Maps 的高层生命周期:
将一个对象作为参数(对象可以是 Java Bean,Map 实现和基本类型的包装类),参数对 象将为 SQL 修改语句和查询语句设定参数值。
1) 执行 mapped statement。这是 SQL Maps 最重要的步骤。SQL Map 框架将创建一个 PreparedStatement 实例,用参数对象为 PreparedStatement 实例设定参数,执行 PreparedStatement 并从 ResultSet 中创建结果对象。
2) 执行 SQL 的更新数据语句时,返回受影响的数据行数。执行查询语句时,将返回 一个结果对象或对象的集合。和参数对象一样,结果对象可以是 Java Bean,Map 实现和基本数据类型的包装类。
下图描述了以上的执行流程:
- 搭建开发环境
安装 SQL Maps 很简单,只要把相关的 JAR 文件复制到类路径下即可。类路径或者是 JVM 启动是指定的类路径(java 命令参数),或者是 Web 应用中的/WEB-INF/lib 目录。Java 类路径的详尽讨论超出了本文的范围,如果您是 Java 的初学者,请参考以下的资源:
文件名
描述
是否必需
ibatis-common.jar
IBATIS 公用的工具类
是
ibatis-sqlmap.jar
IBATIS SQL Maps 框架
是
ibatis-dao.jar
IBATIS DAO 框架
否
Ibatis学习总结1--ibatis简介和SQL Maps的更多相关文章
- 【web开发学习笔记】ibatis学习总结
ibatis学习总结 ibatis数据库配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCT ...
- ibatis 学习笔记 3 - pfpfpfpfpf的专栏 - 博客频道 - CSDN.NET
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- ibatis学习笔记(完整)
1. Ibatis是开源软件组织Apache推出的一种轻量级的对象关系映射(ORM)框架,和Hibernate.Toplink等在java编程的对象持久化方面深受开发人员欢迎. 对象关系映 ...
- iBATIS SQL Maps
让我们重回到车辆管理系统和张三的故事中. 在 iBATIS SQL Maps 的世界里也存在 one-to-many.many-to-one 的关系,想必你已经对这些概念驾轻就熟了.好!还是每个 Pe ...
- C#.NET学习笔记1---C#.NET简介
C#.NET学习笔记1---C#.NET简介 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com -------------- ...
- python学习第一讲,python简介
目录 python学习第一讲,python简介 一丶python简介 1.解释型语言与编译型语言 2.python的特点 3.python的优缺点 二丶第一个python程序 1.python源程序概 ...
- python入门学习:2.列表简介
python入门学习:2.列表简介 关键点:列表 2.1 列表是什么2.2 修改.添加和删除元素2.3 组织列表 2.1 列表是什么 列表,是由一系列按特定顺序排列的元素组成.你可以创建包含字母表 ...
- Linux学习笔记-Linux系统简介
Linux学习笔记-Linux系统简介 UNIX与Linux发展史 UNIX是父亲,Linux是儿子. UNIX发行版本 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP P ...
- 『NiFi 学习之路』简介
『NiFi 学习之路』简介 『NiFi 学习之路』入门 -- 下载.安装与简单使用 『NiFi 学习之路』资源 -- 资料汇总 『NiFi 学习之路』把握 -- 架构及主要组件 『NiFi 学习之路』 ...
随机推荐
- SSH web.xml文件配置
启动一个WEB项目的时候, WEB容器会去读取它的配置文件web.xml web.xml中配置的加载优先级:context-param -> listener -> filter -> ...
- 分享十个JavaScript在线调试工具
测试Javascript可能是网页开发中最让人忧伤的工作.这里我找一些比较好的工具来帮助大家进行测试工作.这10款是我精选的基于浏览器的JavaScript在线调试工具,希望你们对你们有用. 1.Op ...
- hdu-5521 Meeting(最短路)
题目链接: Meeting Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) ...
- css中position属性(absolute|relative|static|fixed)概述及应用
position属性的相关定义: static:无特殊定位,对象遵循正常文档流; relative:对象遵循正常文档流; absolute:对象脱离正常文档流 fixed:对象脱离正常文档流 我们先来 ...
- JavaEE
1. 为什么需要JavaEE 我们编写的JSP代码中,由于大量的显示代码和业务逻辑混淆在一起,彼此嵌套,不利于程序的维护和扩展.当业务需求发生变化的时候,对于程序员和美工都是一个很重的负担. 为了程 ...
- java9-8 局部内部类
1. 局部内部类 A:可以直接访问外部类的成员 B:在局部位置,可以创建内部类对象,通过对象调用内部类方法,来使用局部内部类功能 面试题: 局部内部类访问局部变量的注意事项? A:局部内部类访问局部变 ...
- sort()和qsort()方法详解
1,C++自带的自动排序方法:sort(); 要使用此函数只需用#include <algorithm> sort即可使用. sort(begin,end),表示一个范围,例如: int ...
- linux如何挂载windows下的共享文件
说明:windows下有一共享文件夹APP,windows本地ip是192.168.9.155现在需要在linux服务器上挂载这个APP文件夹,linux服务器ip是192.168.9.200 操作记 ...
- xcode的菜单栏功能解析
[Xcode 7.2]Xcode菜单栏之你不知道的那点事 File: New : 可以新建tap,窗口,新文件,playground,workspace,target等等. Add Files to ...
- bean的作用域
bean的作用域为singleton,spring容器中只存在一个bean的实例,所有对该bean的请求只返回同一个bean实例. 当bean的作用域为prototype时,每一次对bean的请求,都 ...