`
booby325
  • 浏览: 386522 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

IBatis 入门教程

 
阅读更多

第一步:创建POJO类

Java代码  收藏代码
  1. package com.ibatis;  
  2.   
  3. import java.io.Serializable;  
  4.   
  5. public class Ibatis implements Serializable{  
  6.   
  7.     private static final long serialVersionUID = 4054639727225043549L;  
  8.     private int id;  
  9.     private String name;  
  10.     private int age;  
  11.       
  12.     public Ibatis() {  
  13.         super();  
  14.     }  
  15.       
  16.     public Ibatis(int id, String name, int age) {  
  17.         super();  
  18.         this.id = id;  
  19.         this.name = name;  
  20.         this.age = age;  
  21.     }  
  22.   
  23.     public int getId() {  
  24.         return id;  
  25.     }  
  26.   
  27.     public void setId(int id) {  
  28.         this.id = id;  
  29.     }  
  30.   
  31.     public String getName() {  
  32.         return name;  
  33.     }  
  34.   
  35.     public void setName(String name) {  
  36.         this.name = name;  
  37.     }  
  38.   
  39.     public int getAge() {  
  40.         return age;  
  41.     }  
  42.   
  43.     public void setAge(int age) {  
  44.         this.age = age;  
  45.     }  
  46.       
  47.     public String toString(){  
  48.         return id + " " + name + " " + age;  
  49.     }  
  50. }  

 第二步:创建上述POJO类的IBatis配置文件

Xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE sqlMap  
  3. PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"  
  4. "http://www.ibatis.com/dtd/sql-map-2.dtd">  
  5.   
  6. <sqlMap namespace="Ibatis">  
  7.     <typeAlias alias="ibatis" type="com.ibatis.Ibatis"/>  
  8.   
  9.     <select id="getIbatis" parameterClass="java.lang.String" resultClass="ibatis">  
  10.         select id, name, age from ibatis where name = #name#  
  11.     </select>  
  12.       
  13.     <update id="updateIbatis" parameterClass="ibatis">  
  14.         UPDATE ibatis SET name=#name#, age=#age# WHERE id = #id#  
  15.     </update>  
  16.       
  17.     <insert id="insertIbatis" parameterClass="ibatis">  
  18.         INSERT INTO ibatis (id, name,age) VALUES (#id#, #name#, #age#)  
  19.     </insert>  
  20.       
  21.     <delete id="deleteIbatis" parameterClass="java.lang.String">  
  22.         delete from ibatis where id = #value#  
  23.     </delete>  
  24. </sqlMap>  

第三步:创建IBatis ORM框架的总配置文件SqlMapConfig.xml

Xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE sqlMapConfig  
  3. PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"  
  4. "http://www.ibatis.com/dtd/sql-map-config-2.dtd">  
  5. <sqlMapConfig>  
  6.       
  7.     <!--   
  8.         1. cacheModelsEnabled 是否启动sqlMapClient上的缓存机制;  
  9.         2. enhancementEnabled是否针对POJO启用字节码增强机制以提升getter/setter的调用效能,  
  10.                 避免使用Java Reflect所带来的性能开销,同时也为Lazy Loading带来了极大的性能提升;  
  11.         3. errorTracingEnabled 是否启用错误日志;在开发期间建议设为“true”以方便调试  
  12.         4. lazyLoadingEnabled 是否启动延迟加载机制  
  13.         5. maxRequests 最大并发请求数(Statement并发数)  
  14.         5. maxTransactions 最大并发事务  
  15.         6. maxSessions 最大Session数,即当前最大允许的并发sqlMapClient数(介于maxRequests和maxTransactions之间)  
  16.         7. useStatementNamespaces 是否使用Statement命名空间(为true时,需要追加命名空间)  
  17.      -->  
  18.     <settings cacheModelsEnabled="true" enhancementEnabled="true"  
  19.         lazyLoadingEnabled="true" errorTracingEnabled="true" maxRequests="32"  
  20.         maxSessions="10" maxTransactions="5" useStatementNamespaces="false" />  
  21.       
  22.     <!--   
  23.         transactionManager 节点定义了ibatis的事务管理器  
  24.         1. JDBC:通过传统JDBC Connection.commit/rollback实现事务支持  
  25.         2. JTA:使用容器提供的JTA服务实现全局事务管理  
  26.         3. EXTERNAL:外部事务管理,如EJB中使用ibatis,通过EJB的部署配置即可实现自动事务管理机制  
  27.                 此时ibatis将所有事务委托给外部容器管理   
  28.      -->  
  29.     <transactionManager type="JDBC">  
  30.         <!--   
  31.             dataSource从属于transactionManager节点,用于设定ibatis运行期使用的DataSource属性  
  32.             type属性: dataSource节点的type属性指定了dataSource的实现类型  
  33.             1. SIMPLE:  
  34.                 SIMPLE是ibatis内置的dataSource实现,其中实现了一个简单的数据库连接池机制, 对应ibatis 实现类为  
  35.                 com.ibatis.sqlmap.engine.datasource.SimpleDataSourceFactory。  
  36.             2. DBCP:  
  37.                 基于Apache DBCP连接池组件实现的DataSource 封装,当无容器提供DataSource 服务时,  
  38.                 建议使用该选项,对应ibatis 实现类为com.ibatis.sqlmap.engine.datasource.DbcpDataSourceFactory。  
  39.             3. JNDI:  
  40.                 使用J2EE 容器提供的DataSource 实现,DataSource 将通过指定的JNDI Name 从容器中获取。  
  41.                 对应ibatis 实现类为com.ibatis.sqlmap.engine.datasource.JndiDataSourceFactory。  
  42.          -->  
  43.         <dataSource type="SIMPLE">  
  44.             <!-- JDBC驱动 -->  
  45.             <property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver" />  
  46.             <!-- 数据库URL -->  
  47.             <property name="JDBC.ConnectionURL" value="jdbc:oracle:thin:@192.168.241.27:1521:orcl" />  
  48.             <!-- 数据库用户名 -->  
  49.             <property name="JDBC.Username" value="aaa" />  
  50.             <!-- 数据库密码 -->  
  51.             <property name="JDBC.Password" value="aaa" />  
  52.             <property name="Pool.MaximumActiveConnections" value="10" />  
  53.             <property name="Pool.MaximumIdleConnections" value="5" />  
  54.             <property name="Pool.MaximumCheckoutTime" value="120000" />  
  55.             <property name="Pool.TimeToWait" value="500" />  
  56.             <property name="Pool.PingQuery" value="select 1 from ACCOUNT" />  
  57.             <property name="Pool.PingEnabled" value="false" />  
  58.             <property name="Pool.PingConnectionsOlderThan" value="1" />  
  59.             <property name="Pool.PingConnectionsNotUsedFor" value="1" />  
  60.         </dataSource>  
  61.     </transactionManager>  
  62.       
  63.     <!-- 指定映射文件的位置,配置中可出现多个sqlMap节点,以指定项目内所有映射文件 -->  
  64.     <sqlMap resource="com/ibatis/Ibatis.xml" />  
  65. </sqlMapConfig>  

 第四步:创建一个测试类,检验上述配置 + 类文件

Java代码  收藏代码
  1. package com.ibatis;  
  2.   
  3. import java.io.Reader;  
  4.   
  5. import org.apache.log4j.Logger;  
  6.   
  7. import com.ibatis.common.resources.Resources;  
  8. import com.ibatis.sqlmap.client.SqlMapClient;  
  9. import com.ibatis.sqlmap.client.SqlMapClientBuilder;  
  10.   
  11. public class TestMain {  
  12.       
  13.     static Logger logger = Logger.getLogger(TestMain.class.getName());  
  14.   
  15.     /** 
  16.      * @param args 
  17.      */  
  18.     public static void main(String[] args) {  
  19.         String resource ="SqlMapConfig.xml";  
  20.           
  21.         //sqlMap系统初始化完毕,开始执行update操作  
  22.         try {  
  23.             Reader reader = Resources.getResourceAsReader(resource);  
  24.             SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);  
  25.               
  26.             sqlMap.startTransaction();  
  27.   
  28. //          Ibatis ibatis = new Ibatis();  
  29. //          ibatis.setId(new Integer(1));  
  30. //          ibatis.setName("Erica");  
  31. //          ibatis.setAge(new Integer(1));  
  32. //          sqlMap.insert("insertIbatis",ibatis);  
  33.               
  34.             Ibatis ibatis = (Ibatis)sqlMap.queryForObject("getIbatis""Erica");  
  35.             System.out.println(ibatis.toString());  
  36.               
  37.             sqlMap.commitTransaction();  
  38.         } catch (Exception e) {  
  39.             // TODO: handle exception  
  40.             logger.debug(e.toString());  
  41.         }     
  42.     }  
  43. }  
  44.   

分享到:
评论
1 楼 yun27dddd 2015-06-17  
[flash=200,200][flash=200,200][flash=200,200][flash=200,200][flash=200,200][flash=200,200][flash=200,200]
[flash=200,200][url][list]
[*]
引用
[u][i][b][b][b][b][b][b] :cry: :P :x 8) :lol: :o :D :shock: :? :evil: :arrow: :wink: :roll: :cry: :lol: :o [/b][/b][/b][/b][/b][/b][/i][/u]
[/list][/url][/flash]
[/flash][/flash][/flash][/flash][/flash][/flash][/flash]||||
|||
|||
||
||
|
|

相关推荐

    ibatis入门教程_ibatis入门教程_源码

    Ibatis,全称为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射,使得...通过学习这个Ibatis入门教程,你可以了解并掌握如何在Java应用中使用Ibatis进行数据操作,为后续的进阶学习和项目开发打下坚实的基础。

    ibatis ibatis入门教程

    【标题】:Ibatis Ibatis入门教程 【描述】:Ibatis是一款优秀的持久层框架,它简化了Java应用与数据库之间的交互,通过提供一个映射SQL的XML或注解方式,使得开发人员能够将精力集中在业务逻辑上,而不是繁琐的...

    iBatis入门教程

    ### iBatis入门教程知识点详解 #### 一、iBatis简介 iBatis是一个开源框架,用于简化Java应用程序与数据库之间的交互。它基于SQL语句执行查询,并将结果映射到Java对象上,从而降低了Java层代码与SQL语句之间的...

    ibatis入门教程与开发指南

    **ibatis入门教程与开发指南** Ibatis,全称MyBatis-iBATIS,是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。Ibatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。Ibatis可以使用简单...

    Ibatis入门教程

    ### Ibatis入门教程知识点详解 #### 一、Ibatis简介 Ibatis是一个基于Java的开源持久层框架,它提供了一种灵活的方式将对象映射到关系型数据库中,支持SQL查询和更新操作,并且能够自动处理结果集。与Hibernate等...

    框架iBATIS入门教程.

    ### 框架iBATIS入门教程 #### 一、iBATIS框架介绍与学习目的 iBATIS是一个开源框架,用于简化Java应用程序与数据库之间的交互。它通过提供一种称为SQL Maps的方式,来帮助开发者更好地管理和执行SQL语句。本教程...

    ibatis入门教程

    # iBatis 入门教程 iBatis 是一个优秀的持久层框架,它允许开发者将 SQL 语句直接写在 XML 映射文件中,从而实现了 SQL 与 Java 代码的分离,提高了开发效率和可维护性。本教程旨在帮助初学者快速掌握 iBatis 的...

    iBatis 入门教程

    本文基于“iBatis入门教程”的内容,深入解析iBatis框架的基础知识,特别是如何处理一对多和多对一的关联关系。 ### 一对多和多对一关系 在关系型数据库中,一对多和多对一关系是常见的数据关联模式。一对多指的是...

    ibatis基础教程

    ### iBatis基础教程知识点详解 #### 一、iBatis简介与背景 iBatis是一种流行的开源框架,主要用于在Java应用程序中实现数据库操作。它采用了一种称为映射(Mapping)的技术,允许开发人员将Java对象与SQL语句进行...

    IBatis入门教程+开发指南

    **IBatis**,全称是**iBatis**,是一个基于Java的持久层框架,它主要解决了数据库操作与业务逻辑层的分离问题,使得开发者能够更专注于SQL和业务逻辑的编写,而无需关心底层的数据访问细节。这个框架的核心是SQL映射...

    ibatis入门

    **Ibatis 入门教程** ...通过这个入门教程,你将掌握 Ibatis 的基础用法,从而能够进行基本的数据库操作。在实际项目中,随着对 Ibatis 的深入理解和应用,你会发现它是一个强大且灵活的工具,能有效提高开发效率。

    Ibatis入门例子,Ibatis教程

    在本教程中,我们将通过一个简单的Ibatis入门例子,带你逐步了解并掌握这个强大的框架。 首先,我们需要在项目中引入Ibatis的依赖。通常,我们会在Maven的pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;org....

    ibatis入门教程(快速上手版)ppt

    这版PPT仅供学习使用,是ibatis入门的知识,用PPT做的,很容上手。

    ibatis开发指南,ibatis入门教程

    Ibatis,现更名为MyBatis,是一个优秀的Java持久层框架,它主要负责SQL映射和对象关系映射,使得开发者可以编写动态、灵活的SQL语句,并将它们直接集成到Java应用中,避免了传统的JDBC代码繁琐的过程。本指南旨在...

    入门完整ibatis教程集锦

    **Ibatis 入门教程全集** Ibatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。Ibatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。Ibatis 可以使你更好地将数据库层与业务逻辑...

    iBATIS入门教程

    本教程将带你逐步走进iBATIS的世界,了解其核心概念、安装配置以及如何在实际项目中应用。 1. **iBATIS的核心概念** - **SQL Maps**:iBATIS的核心组件,是XML配置文件,其中包含了SQL语句和映射规则,将数据库...

    iBatis简明教程及快速入门

    ### iBatis简明教程及快速入门 #### 一、iBatis简介 iBatis是一个开源框架,用于实现Java应用程序中的对象关系映射(Object Relational Mapping, ORM)。相较于其他ORM框架如Hibernate,iBatis更加轻量级且易于...

    Ibatis 入门经典 实例

    《Ibatis 入门经典 实例》 Ibatis 是一款著名的轻量级 Java 持久层框架,它提供了一种映射 SQL 和 Java 对象的简单方式,从而减轻了开发人员在数据库操作中的工作负担。这篇实例教程将带你深入理解 Ibatis 的核心...

Global site tag (gtag.js) - Google Analytics