第一步:创建POJO类
- package com.ibatis;
-
- import java.io.Serializable;
-
- public class Ibatis implements Serializable{
-
- private static final long serialVersionUID = 4054639727225043549L;
- private int id;
- private String name;
- private int age;
-
- public Ibatis() {
- super();
- }
-
- public Ibatis(int id, String name, int age) {
- super();
- this.id = id;
- this.name = name;
- this.age = age;
- }
-
- public int getId() {
- return id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public int getAge() {
- return age;
- }
-
- public void setAge(int age) {
- this.age = age;
- }
-
- public String toString(){
- return id + " " + name + " " + age;
- }
- }
第二步:创建上述POJO类的IBatis配置文件
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE sqlMap
- PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
- "http://www.ibatis.com/dtd/sql-map-2.dtd">
-
- <sqlMap namespace="Ibatis">
- <typeAlias alias="ibatis" type="com.ibatis.Ibatis"/>
-
- <select id="getIbatis" parameterClass="java.lang.String" resultClass="ibatis">
- select id, name, age from ibatis where name = #name#
- </select>
-
- <update id="updateIbatis" parameterClass="ibatis">
- UPDATE ibatis SET name=#name#, age=#age# WHERE id = #id#
- </update>
-
- <insert id="insertIbatis" parameterClass="ibatis">
- INSERT INTO ibatis (id, name,age) VALUES (#id#, #name#, #age#)
- </insert>
-
- <delete id="deleteIbatis" parameterClass="java.lang.String">
- delete from ibatis where id = #value#
- </delete>
- </sqlMap>
第三步:创建IBatis ORM框架的总配置文件SqlMapConfig.xml
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE sqlMapConfig
- PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
- "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
- <sqlMapConfig>
-
- <!--
- 1. cacheModelsEnabled 是否启动sqlMapClient上的缓存机制;
- 2. enhancementEnabled是否针对POJO启用字节码增强机制以提升getter/setter的调用效能,
- 避免使用Java Reflect所带来的性能开销,同时也为Lazy Loading带来了极大的性能提升;
- 3. errorTracingEnabled 是否启用错误日志;在开发期间建议设为“true”以方便调试
- 4. lazyLoadingEnabled 是否启动延迟加载机制
- 5. maxRequests 最大并发请求数(Statement并发数)
- 5. maxTransactions 最大并发事务
- 6. maxSessions 最大Session数,即当前最大允许的并发sqlMapClient数(介于maxRequests和maxTransactions之间)
- 7. useStatementNamespaces 是否使用Statement命名空间(为true时,需要追加命名空间)
- -->
- <settings cacheModelsEnabled="true" enhancementEnabled="true"
- lazyLoadingEnabled="true" errorTracingEnabled="true" maxRequests="32"
- maxSessions="10" maxTransactions="5" useStatementNamespaces="false" />
-
- <!--
- transactionManager 节点定义了ibatis的事务管理器
- 1. JDBC:通过传统JDBC Connection.commit/rollback实现事务支持
- 2. JTA:使用容器提供的JTA服务实现全局事务管理
- 3. EXTERNAL:外部事务管理,如EJB中使用ibatis,通过EJB的部署配置即可实现自动事务管理机制
- 此时ibatis将所有事务委托给外部容器管理
- -->
- <transactionManager type="JDBC">
- <!--
- dataSource从属于transactionManager节点,用于设定ibatis运行期使用的DataSource属性
- type属性: dataSource节点的type属性指定了dataSource的实现类型
- 1. SIMPLE:
- SIMPLE是ibatis内置的dataSource实现,其中实现了一个简单的数据库连接池机制, 对应ibatis 实现类为
- com.ibatis.sqlmap.engine.datasource.SimpleDataSourceFactory。
- 2. DBCP:
- 基于Apache DBCP连接池组件实现的DataSource 封装,当无容器提供DataSource 服务时,
- 建议使用该选项,对应ibatis 实现类为com.ibatis.sqlmap.engine.datasource.DbcpDataSourceFactory。
- 3. JNDI:
- 使用J2EE 容器提供的DataSource 实现,DataSource 将通过指定的JNDI Name 从容器中获取。
- 对应ibatis 实现类为com.ibatis.sqlmap.engine.datasource.JndiDataSourceFactory。
- -->
- <dataSource type="SIMPLE">
-
- <property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver" />
-
- <property name="JDBC.ConnectionURL" value="jdbc:oracle:thin:@192.168.241.27:1521:orcl" />
-
- <property name="JDBC.Username" value="aaa" />
-
- <property name="JDBC.Password" value="aaa" />
- <property name="Pool.MaximumActiveConnections" value="10" />
- <property name="Pool.MaximumIdleConnections" value="5" />
- <property name="Pool.MaximumCheckoutTime" value="120000" />
- <property name="Pool.TimeToWait" value="500" />
- <property name="Pool.PingQuery" value="select 1 from ACCOUNT" />
- <property name="Pool.PingEnabled" value="false" />
- <property name="Pool.PingConnectionsOlderThan" value="1" />
- <property name="Pool.PingConnectionsNotUsedFor" value="1" />
- </dataSource>
- </transactionManager>
-
-
- <sqlMap resource="com/ibatis/Ibatis.xml" />
- </sqlMapConfig>
第四步:创建一个测试类,检验上述配置 + 类文件
- package com.ibatis;
-
- import java.io.Reader;
-
- import org.apache.log4j.Logger;
-
- import com.ibatis.common.resources.Resources;
- import com.ibatis.sqlmap.client.SqlMapClient;
- import com.ibatis.sqlmap.client.SqlMapClientBuilder;
-
- public class TestMain {
-
- static Logger logger = Logger.getLogger(TestMain.class.getName());
-
-
-
-
- public static void main(String[] args) {
- String resource ="SqlMapConfig.xml";
-
-
- try {
- Reader reader = Resources.getResourceAsReader(resource);
- SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
-
- sqlMap.startTransaction();
-
-
-
-
-
-
-
- Ibatis ibatis = (Ibatis)sqlMap.queryForObject("getIbatis", "Erica");
- System.out.println(ibatis.toString());
-
- sqlMap.commitTransaction();
- } catch (Exception e) {
-
- logger.debug(e.toString());
- }
- }
- }
-
分享到:
相关推荐
Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得...通过学习这个Ibatis入门教程,你可以了解并掌握如何在Java应用中使用Ibatis进行数据操作,为后续的进阶学习和项目开发打下坚实的基础。
【标题】:Ibatis Ibatis入门教程 【描述】:Ibatis是一款优秀的持久层框架,它简化了Java应用与数据库之间的交互,通过提供一个映射SQL的XML或注解方式,使得开发人员能够将精力集中在业务逻辑上,而不是繁琐的...
### iBatis入门教程知识点详解 #### 一、iBatis简介 iBatis是一个开源框架,用于简化Java应用程序与数据库之间的交互。它基于SQL语句执行查询,并将结果映射到Java对象上,从而降低了Java层代码与SQL语句之间的...
**ibatis入门教程与开发指南** Ibatis,全称MyBatis-iBATIS,是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。Ibatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。Ibatis可以使用简单...
### Ibatis入门教程知识点详解 #### 一、Ibatis简介 Ibatis是一个基于Java的开源持久层框架,它提供了一种灵活的方式将对象映射到关系型数据库中,支持SQL查询和更新操作,并且能够自动处理结果集。与Hibernate等...
### 框架iBATIS入门教程 #### 一、iBATIS框架介绍与学习目的 iBATIS是一个开源框架,用于简化Java应用程序与数据库之间的交互。它通过提供一种称为SQL Maps的方式,来帮助开发者更好地管理和执行SQL语句。本教程...
# iBatis 入门教程 iBatis 是一个优秀的持久层框架,它允许开发者将 SQL 语句直接写在 XML 映射文件中,从而实现了 SQL 与 Java 代码的分离,提高了开发效率和可维护性。本教程旨在帮助初学者快速掌握 iBatis 的...
本文基于“iBatis入门教程”的内容,深入解析iBatis框架的基础知识,特别是如何处理一对多和多对一的关联关系。 ### 一对多和多对一关系 在关系型数据库中,一对多和多对一关系是常见的数据关联模式。一对多指的是...
### iBatis基础教程知识点详解 #### 一、iBatis简介与背景 iBatis是一种流行的开源框架,主要用于在Java应用程序中实现数据库操作。它采用了一种称为映射(Mapping)的技术,允许开发人员将Java对象与SQL语句进行...
**IBatis**,全称是**iBatis**,是一个基于Java的持久层框架,它主要解决了数据库操作与业务逻辑层的分离问题,使得开发者能够更专注于SQL和业务逻辑的编写,而无需关心底层的数据访问细节。这个框架的核心是SQL映射...
**Ibatis 入门教程** ...通过这个入门教程,你将掌握 Ibatis 的基础用法,从而能够进行基本的数据库操作。在实际项目中,随着对 Ibatis 的深入理解和应用,你会发现它是一个强大且灵活的工具,能有效提高开发效率。
在本教程中,我们将通过一个简单的Ibatis入门例子,带你逐步了解并掌握这个强大的框架。 首先,我们需要在项目中引入Ibatis的依赖。通常,我们会在Maven的pom.xml文件中添加以下依赖: ```xml <groupId>org....
这版PPT仅供学习使用,是ibatis入门的知识,用PPT做的,很容上手。
Ibatis,现更名为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射和对象关系映射,使得开发者可以编写动态、灵活的SQL语句,并将它们直接集成到Java应用中,避免了传统的JDBC代码繁琐的过程。本指南旨在...
**Ibatis 入门教程全集** Ibatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。Ibatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。Ibatis 可以使你更好地将数据库层与业务逻辑...
本教程将带你逐步走进iBATIS的世界,了解其核心概念、安装配置以及如何在实际项目中应用。 1. **iBATIS的核心概念** - **SQL Maps**:iBATIS的核心组件,是XML配置文件,其中包含了SQL语句和映射规则,将数据库...
### iBatis简明教程及快速入门 #### 一、iBatis简介 iBatis是一个开源框架,用于实现Java应用程序中的对象关系映射(Object Relational Mapping, ORM)。相较于其他ORM框架如Hibernate,iBatis更加轻量级且易于...
《Ibatis 入门经典 实例》 Ibatis 是一款著名的轻量级 Java 持久层框架,它提供了一种映射 SQL 和 Java 对象的简单方式,从而减轻了开发人员在数据库操作中的工作负担。这篇实例教程将带你深入理解 Ibatis 的核心...