iBatis入门--简单使用
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的时候配置如下:

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

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

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

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事務管理允許您對多個數
