首頁 資料庫 mysql教程 iBatis入门--简单使用

iBatis入门--简单使用

Jun 07, 2016 pm 05:29 PM
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的时候配置如下:

        destroy-method="close">
       
       
       
       

linux

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

iBatis和MyBatis:哪個比較適合你? iBatis和MyBatis:哪個比較適合你? Feb 19, 2024 pm 04:38 PM

iBatis與MyBatis:你該選擇哪一個?簡介:隨著Java語言的快速發展,許多持久化框架也應運而生。 iBatis和MyBatis是兩個備受歡迎的持久化框架,它們都提供了一個簡單而高效的資料存取解決方案。本文將介紹iBatis和MyBatis的特點和優勢,並給出一些具體的程式碼範例,幫助你選擇合適的框架。 iBatis簡介:iBatis是一個開源的持久化框架

iBatis與MyBatis:比較與優勢剖析 iBatis與MyBatis:比較與優勢剖析 Feb 18, 2024 pm 01:53 PM

iBatis和MyBatis:區別和優勢解析導語:在Java開發中,持久化是一個常見的需求,而iBatis和MyBatis是兩個廣泛使用的持久化框架。雖然它們有很多相似之處,但也有一些關鍵的區別和優勢。本文將透過詳細分析這兩個框架的特性、用法和範例程式碼,為讀者提供更全面的了解。一、iBatis特性:iBatis是目前較老舊的持久化框架,它使用SQL映射文件

ibatis和mybatis有什麼差別 ibatis和mybatis有什麼差別 Jan 10, 2024 am 11:25 AM

ibatis和mybatis的區別:1、基本資訊不同;2、開發時間不同;3、功能與易用性;4、配置;5、入參類型與出參類型;6、返回結果集接受方式;7 、文法差異;8、資料庫方言支援;9、插件支援;10、社區活躍度;11、全球化支援。詳細介紹:1、基本資訊不同,iBatis提供持久層框架,包括SQL Maps和Data Access Objects等等。

iBatis與MyBatis:歷史與現況的比較評價 iBatis與MyBatis:歷史與現況的比較評價 Feb 19, 2024 am 10:42 AM

iBatis和MyBatis:從歷史到現狀的評估與對比引言:隨著軟體開發領域的快速發展,對於資料庫存取框架也提出了越來越高的要求。 iBatis和MyBatis是兩個備受關注的Java持久層框架,它們都提供了一種簡單靈活的方式來存取關聯式資料庫。本文將對這兩個框架進行歷史回顧,並對它們的現狀進行評估與對比。一、歷史回顧iBatisiBatis是由Clinton

iBatis與MyBatis的異同比較:主流ORM框架的對比 iBatis與MyBatis的異同比較:主流ORM框架的對比 Feb 19, 2024 pm 07:08 PM

iBatis和MyBatis是兩個主流的ORM(Object-RelationalMapping)框架,它們在設計和使用上有著許多相似之處,也存在一些細微的差別。本文將詳細比較iBatis和MyBatis的異同,並透過具體的程式碼範例來說明它們的特點。一、iBatis與MyBatis的歷史與背景iBatis是ApacheSoftwareFoundat

ibatis mysql 亂碼怎麼解決 ibatis mysql 亂碼怎麼解決 Feb 16, 2023 am 10:40 AM

ibatis mysql亂碼的解決方法:1、檢查mysql的字元集,並設定為utf8;2、將設定修改為「<property name="url"><value><![CDATA[jdbc:mysql://localhost :3306/yourDbNameuseUnicode=TRUE&characterEncoding=utf8]]></value>」即可。

iBatis與MyBatis:兩個Java持久化框架的比較與選擇 iBatis與MyBatis:兩個Java持久化框架的比較與選擇 Feb 22, 2024 pm 07:09 PM

iBatis與MyBatis:兩個Java持久化框架的比較與選擇引言:在Java開發中,選擇一個合適的持久化框架是提高開發效率和效能的關鍵。在眾多的框架中,iBatis和MyBatis是兩個備受開發者喜愛的框架。它們都提供了簡潔、靈活和高效的方式來操作資料庫。本文將從以下幾個面向對iBatis和MyBatis進行比較,以幫助開發者選擇適合自己專案的持久化框架

Java JPA 與其他持久化框架的比較:哪一個比較適合你? Java JPA 與其他持久化框架的比較:哪一個比較適合你? Feb 19, 2024 pm 08:21 PM

JPA(JavaPersistenceapi)是一個標準的JavaAPI,它提供了一組用於存取和持久化資料物件的介面。 JPA是JPA工作小組的成果,該工作小組由SunMicrosystems(現為oracle)和其他公司組成。 JPA於2006年12月發布,並已成為JavaPersistenceAPI規格的標準實作。 JPA框架提供了以下主要特性:物件-關聯式映射(ORM)事務管理查詢JPAORM將資料庫表對應到Java對象,以便您可以使用標準的JavaAPI來操作資料庫資料。 JPA事務管理允許您對多個數

See all articles