Ibatis:一种ldquo;半 自动化rdquo;的 ORM 实现,也就是说ibatis 不会为程序员在运行期自动生成 SQL 执行。具体的 SQL 需要程序
一、概念
Hibernate 和 Apache OJB :“一站式”ORM
Ibatis:一种“半 自动化”的 ORM 实现,也就是说ibatis 不会为程序员在运行期自动生成 SQL 执行。具体的 SQL 需要程序员编写,然后通过映 射配置文件,将 SQL 所需的参数,以及返回的结果字段映射到指定 POJO。
二、使用
构建 ibatis 基础代码
ibatis 基础代码包括:
1. ibatis 配置SqlMapConfig.xml文件 :
(1)、Settings 节点
参数描述
cacheModelEnable 是否启用SqlMapClient上的缓存机制。建议设为"true"
enhancementEnable 是否针对POJO启用字节码增强机制,避免java reflect的性能开销
errorTracingEnabled 是否启用错误日志,开发期间可以开启,方便调试
lazyLoadingEnalbed 是否启用延迟加载
maxRequests 最大并发请求数(Statement 并发数)
maxTransactions 最大并发事务数
maxSessions 最大Session数,及最大的并发SqlMapclient数,必须介于maxTransactions和maxRequest之间
(2)、transactionManager 事物管理
(3)、dataSource 数据源配置
(4)、sqlMap 用于包括SQL Map映射文件和其他的SQL Map配置文件。每个SqlMapClient对象使用的所有SQL Map映射文件都要在此声明。映射文件作为stream resource从类路径或URL读入。您必须在这里指定所有的SQL Map文件。
2、实体类POJO。这个需要和数据库的相对应。
3、映射文件map,通常放在sqlmap包下,实现具体的数据库操作语句。主要有模块配置、缓存配置、statement配置。使用最多的应该是此处的statement配置了,需要用的sql语句和参数都写在这里。
4、如何在代码中使用,这才是最关键的。
在此先要搞清楚几个比较核心的比较重要的概念:
(1)、XmlSqlMapClientBuilder,ibatis 2.0 之后版本新引入的组件, 用以替代 1.x 版本中的 XmlSqlMapBuilder。其作用是根据配置文件创建 SqlMapClient 实例。
(2)、SqlMapClient 是 ibatis 的核心组件, 提供数据操作的基础平台。
SqlMapClient 可通过 XmlSqlMapClientBuilder 创建:
String resource ="com/ibatis/sample/SqlMapConfig.xml";
Reader reader; reader = Resources.getResourceAsReader(resource);
XmlSqlMapClientBuilder xmlBuilder = new XmlSqlMapClientBuilder();
SqlMapClient sqlMap = xmlBuilder.buildSqlMap(reader);
备注:"com/ibatis/sample/SqlMapConfig.xml"指明了配置文件在 CLASSPATH 中的相对路径。 XmlSqlMapClientBuilder 通过接受一个 Reader 类型的配置文 件句柄,根据配置参数,创建 SqlMapClient 实例。 SqlMapClient 提供了众多数据操作方法。
5、SqlMapClient 基本操作示例
见Ibatis官方手册
6、学习体会
大三用java做数据库课程设计的时候将所有的数据库操作都写在一个类里,程序的耦合性很高,扩展性也不好。Ibatis是我第一次接触的,感觉学起来很容易上手,自己也学着在Demo上试了一下,做了个简单的登陆界面。学习ibatis的过程最重要的是理解他的工作原理和映射关系,还有就是结合webx开发,哪些文件应该放置在哪层(通常是DAO层),弄清楚这些问题,在以后的开发中肯定也是很有帮助的。
实践中遇到的问题:
无法链接数据库,无法下载数据库驱动,把jdbc.mysql.mysql-connector包复制到tomcat下面的lib目录中即可。当然要保证你的xml配置是正确的,我连接本地Mysql的时候配置如下:

iBatis与MyBatis:你应该选择哪个?简介:随着Java语言的快速发展,许多持久化框架也应运而生。iBatis和MyBatis是两个备受欢迎的持久化框架,它们都提供了一种简单而高效的数据访问解决方案。本文将介绍iBatis和MyBatis的特点和优势,并给出一些具体的代码示例,帮助你选择合适的框架。iBatis简介:iBatis是一个开源的持久化框架

iBatis和MyBatis:区别和优势解析导语:在Java开发中,持久化是一个常见的需求,而iBatis和MyBatis是两个广泛使用的持久化框架。虽然它们有很多相似之处,但也有一些关键的区别和优势。本文将通过详细分析这两个框架的特性、用法和示例代码,为读者提供更全面的了解。一、iBatis特性:iBatis是目前较为老旧的持久化框架,它使用SQL映射文件

ibatis和mybatis的区别:1、基本信息不同;2、开发时间不同;3、功能与易用性;4、配置文件;5、入参类型与出参类型;6、返回结果集接受方式;7、语法差异;8、数据库方言支持;9、插件支持;10、社区活跃度;11、全球化支持。详细介绍:1、基本信息不同,iBatis提供持久层框架,包括SQL Maps和Data Access Objects等等。

iBatis和MyBatis:从历史到现状的评估与对比引言:随着软件开发领域的快速发展,对于数据库访问框架也提出了越来越高的要求。iBatis和MyBatis是两个备受关注的Java持久层框架,它们都提供了一种简单灵活的方式来访问关系型数据库。本文将对这两个框架进行历史回顾,并对它们的现状进行评估与对比。一、历史回顾iBatisiBatis是由Clinton

iBatis和MyBatis是两种主流的ORM(Object-RelationalMapping)框架,它们在设计和使用上有着许多相似之处,也存在一些细微的差别。本文将详细比较iBatis和MyBatis的异同,并通过具体的代码示例来说明它们的特点。一、iBatis与MyBatis的历史和背景iBatis是ApacheSoftwareFoundat

ibatis mysql乱码的解决办法:1、检查mysql的字符集,并设置为utf8;2、将配置修改为“<property name="url"><value><![CDATA[jdbc:mysql://localhost:3306/yourDbNameuseUnicode=TRUE&characterEncoding=utf8]]></value>”即可。

iBatis与MyBatis:两个Java持久化框架的比较与选择引言:在Java开发中,选择一个合适的持久化框架是提高开发效率和性能的关键。在众多的框架中,iBatis和MyBatis是两个备受开发者喜爱的框架。它们都提供了简洁、灵活和高效的方式来操作数据库。本文将从以下几个方面对iBatis和MyBatis进行比较,以帮助开发者选择适合自己项目的持久化框架

JPA(JavaPersistenceapi)是一个标准的JavaAPI,它提供了一组用于访问和持久化数据对象的接口。JPA是JPA工作组的成果,该工作组由SunMicrosystems(现为oracle)和其他公司组成。JPA于2006年12月发布,并已成为JavaPersistenceAPI规范的标准实现。JPA框架提供了以下主要特性:对象-关系映射(ORM)事务管理查询JPAORM将数据库表映射到Java对象,以便您可以使用标准的JavaAPI来操作数据库数据。JPA事务管理允许您对多个数


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)