什么是ibatis:
iBATIS的是一个持久层框架,它能够自动在 Java, .NET, 和Ruby on Rails中与SQL数据库和对象之间的映射。映射是从应用程序逻辑封装在XML配置文件中的SQL语句脱钩。
iBATIS是一个轻量级的框架和持久性API适合持久化的POJO(普通Java对象)。
iBATIS是被称为一个数据映射和映射需要的类的属性和数据库中的表的列之间的参数和结果。
iBATIS和其他持久化框架,如Hibernate之间的显著区别在于,iBATIS强调使用SQL,而其他的框架通常使用一个自定义的查询语言,具有Hibernate查询语言(HQL)或Enterprise JavaBeans的查询语言(EJB QL)。
如何使用:
创建实体类对应的表
CREATE TABLE EMPLOYEE ( id INT NOT NULL auto_increment, first_name VARCHAR(20)default NULL, last_name VARCHAR(20)default NULL, salary INT default NULL, PRIMARY KEY (id));
创建实体类
publicclassEmployee{privateint id;privateString first_name;privateString last_name;privateint salary;/* Define constructors for the Employee class. */publicEmployee(){}publicEmployee(String fname,String lname,int salary){this.first_name = fname;this.last_name = lname;this.salary = salary;}}/* End of Employee */
编写xml
要定义使用iBATIS SQL映射语句中,我们将使用<insert>标签,这个标签定义中,我们会定义将用于在IbatisInsert.java文件的数据库执行SQL INSERT查询“id”。
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"><sqlMapnamespace="Employee"><insertid="insert"parameterClass="Employee"> insert into EMPLOYEE(first_name, last_name, salary) values (#first_name#, #last_name#, #salary#) <selectKeyresultClass="int"keyProperty="id"> select last_insert_id() as id </selectKey></insert></sqlMap>
这里parameterClass:可以采取一个值作为字符串,整型,浮点型,double或根据要求任何类的对象。在这个例子中,我们将通过Employee对象作为参数而调用SqlMap类的insert方法。
如果您的数据库表使用IDENTITY,AUTO_INCREMENT或串行列或已定义的SEQUENCE/GENERATOR,可以使用<selectKey>元素在的<insert>语句中使用或返回数据库生成的值。
文件将应用程序级别的逻辑在Employee表中插入记录:
import com.ibatis.common.resources.Resources; import com.ibatis.sqlmap.client.SqlMapClient; import com.ibatis.sqlmap.client.SqlMapClientBuilder; import java.io.*; import java.sql.SQLException; import java.util.*; public class IbatisInsert{ public static void main(String[] args) throws IOException,SQLException{ Reader rd = Resources.getResourceAsReader("SqlMapConfig.xml"); SqlMapClient smc = SqlMapClientBuilder.buildSqlMapClient(rd); /* This would insert one record in Employee table. */ System.out.println("Going to insert record....."); Employee em = new Employee("Zara", "Ali", 5000); smc.insert("Employee.insert", em); System.out.println("Record Inserted Successfully "); } }
编译和运行:
下面是步骤来编译并运行上述软件。请确保已在进行的编译和执行之前,适当地设置PATH和CLASSPATH。
-
创建Employee.xml如上所示。
-
创建Employee.java如上图所示,并编译它。
-
创建IbatisInsert.java如上图所示,并编译它。
-
执行IbatisInsert二进制文件来运行程序。
会得到结果,并创纪录的将在EMPLOYEE表中创建。
相关推荐
《Ibatis/mybatis代码生成工具详解》 在Java开发领域,Ibatis和Mybatis作为两款广泛应用的持久层框架,极大地简化了数据库操作。为了进一步提高开发效率,开发者们设计了一系列的代码生成工具,如"Ibatis Helper"和...
标题“ibatis2mybatis-master.zip”所指的是一款工具或服务,用于将基于iBATIS的数据访问框架的代码自动转换为使用MyBatis框架的代码。iBATIS和MyBatis都是Java开发中常用的持久层框架,它们帮助开发者简化数据库...
标题 "从iBatis迁移到MyBatis" 暗示了本次讨论的主题是关于数据库持久层框架的升级,从较早的iBatis转向更现代的MyBatis。iBatis是一个Java语言中的SQL映射框架,而MyBatis是在iBatis的基础上发展起来的,提供了更多...
IBatis/MyBatis Eclipse 插件帮助编码人员从 java 代码导航到 IBatis/MyBatis 配置 xml 文件。 IBatis/MyBatis 的 sqlmap 元素可以在程序员按下 Ctrl 并点击 Java 代码中的 sqlmap 元素 id 时显示出来。 该插件还...
可以帮你将 ibatis 2.x sqlmap 文件转换为 myBatis 3.x mapper 文件,该工具是使用了 Ant 构建任务进行 XSTL 转换和一些语法文字替换 该工具下载下来使用非常简单,把你要转换的所有 sqlmap 文件放到 source 文件夹...
在映射器接口方面,Mybatis3.x允许开发者直接在接口方法上使用@Select、@Insert、@Update、@Delete等注解,使得接口更加清晰,降低了学习成本。同时,3.x版本引入了MapperFactoryBean,使得Spring集成更加简便,无需...
总结起来,这份文档全集对于Java开发者来说是一份宝贵的资源,它涵盖了从基础理论到实践应用的全方位知识,特别是对于想要学习或已经在使用ibatis、Mybatis和Spring进行整合开发的人来说,具有很高的参考价值。...
ibatis和mybatis对比
无论是简单的日志记录还是复杂的业务处理,Ibatis插件都能够帮助开发者在Java应用中更好地管理和优化数据库操作。在选择和使用Ibatis插件时,一定要根据项目需求和插件特性进行匹配,确保插件能为项目带来实际的价值...
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github
通过运行这些示例,开发者能够更直观地了解Ibatis和Mybatis在实际应用中的工作流程,并从中学习到如何配置、使用和优化这两个框架。 总的来说,深入研究Ibatis和Mybatis的源码,不仅能提升我们对数据库操作的理解,...
Mybatis前身是Apache的一个开源项目iBatis,2010年该项目由Apache迁移到google code,并且改名为Mybatis。2013年11月迁移到GitHub。 3、使用Mybatis简化JDBC的原因 使用JDBC的缺点: 硬编码 --- 解决方案:...
总的来说,这份资源对于学习和实践Ibatis与Mybatis的CRUD操作以及分页功能非常有价值。通过理解并掌握这些知识,开发者能够有效地管理数据库操作,提升应用的性能和用户体验。同时,提供的公司网站链接也为开发者...
在"springMvc_ibatis_mybatis"这个项目中,开发者可以学习如何在Spring MVC环境中集成iBatis或MyBatis,以及如何使用JDBC进行基本的数据操作。 通过这个项目,初学者可以掌握Spring MVC的基本架构,理解iBatis或...
在里面总结了ibatis和mybatis的主要区别,包括xml文件等
在IT行业中,`iBatis` 和 `MyBatis` 是两种非常流行的持久层框架,它们主要用于简化Java应用程序中的数据库操作。本篇文章将深入探讨这两个框架,并基于`CRUD`(Create, Read, Update, Delete)操作来阐述如何使用它们...
从iBatis迁移到MyBatis,开发者可以享受到更多现代框架带来的便利,同时,对于熟悉iBatis的开发者,MyBatis的学习成本并不会很高,因为它保留了iBatis的核心理念和大部分API。因此,无论你是刚接触持久层框架的新手...
iBatis和MyBatis是两个非常流行的Java持久层框架...通过深入学习这两份教程,你不仅可以掌握iBatis和MyBatis的基本使用,还能了解到如何在实际项目中优化和调试SQL,提升开发效率,为你的Java开发生涯增添重要的一笔。
MyBatis,原名iBatis,是一款优秀的Java持久层框架,它主要解决了在Java开发中数据访问层的繁琐工作,使得开发者可以更加专注于业务逻辑的实现。本学习工程是针对MyBatis进行深入理解与实践的一个绝佳示例,特别适合...
Manning.iBATIS.in.Action.Jan.2007.eBook-BBL.pdf MyBatis 3 User Guide Simplified Chinese.pdf MyBatis-3.0.3-Migrations.pdf MyBatis-3.0.3-User-Guide.pdf MyBatis-3-Migrations.doc MyBatis-3-Migrations.pdf ...