`
hn_archer
  • 浏览: 133045 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

iBatis初级入门

 
阅读更多

一个简单的iBatis应用所需要的文件

1:POJO类  例:Person.java

public class Person {
      private int id;
      private String firstName;
      private String lastName;
      private Date birthDate;
      private double weightInKilograms;
      private double heightInMeters;
      // getter,setter省略
}

2:iBatis总的配置文件  例: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>
   <!-- 加载JDBC配置文件 -->
   <properties resource="examples/sqlmap/maps/SqlMapConfigExample.properties" />
      <!-- 设置连接属性 -->
      <settings
            cacheModelsEnabled="true"
            enhancementEnabled="true"
            lazyLoadingEnabled="true"
            maxRequests="32"
            maxSessions="10"
            maxTransactions="5"
            useStatementNamespaces="false" />
      <!-- 别名 -->
      <typeAlias alias="order" type="testdomain.Order" />
      <!-- transaction&dataSource配置  -->
      <transactionManager type="JDBC">
            <dataSource type="SIMPLE">
                  <property name="JDBC.Driver" value="${driver}" />
                  <property name="JDBC.ConnectionURL" value="${url}" />
                  <property name="JDBC.Username" value="${username}" />
                  <property name="JDBC.Password" value="${password}" />
            </dataSource>
      </transactionManager>
      <!-- 引入POJO类的配置文件 -->
      <sqlMap resource="examples/sqlmap/maps/Person.xml" />
</sqlMapConfig>

3:JDBC配置文件 SqlMapConfigExample.properties

driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:oracle1
username=jsmith
password=test

4:对应POJO类的配置文件  例:Person.xml

<?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="Person">
      <!-- 查询 -->
     <select id="getPerson" parameterClass="int"        resultClass="examples.domain.Person">
            SELECT
                  PER_ID as id,
                  PER_FIRST_NAME as firstName,
                  PER_LAST_NAME as lastName,
                  PER_BIRTH_DATE as birthDate,
                  PER_WEIGHT_KG as weightInKilograms,
                  PER_HEIGHT_M as heightInMeters
            FROM PERSON WHERE
                  PER_ID = #value#
      </select>
      <!-- 新增 -->
      <insert id="insertPerson" parameterClass="examples.domain.Person">
            INSERT INTO PERSON
                  (PER_ID, PER_FIRST_NAME, PER_LAST_NAME, PER_BIRTH_DATE, PER_WEIGHT_KG,
                  PER_HEIGHT_M)
            VALUES
                  (#id#, #firstName#, #lastName#, #birthDate#,#weightInKilograms#, #heightInMeters#)
      </insert>
      <!-- 更新 -->
      <update id="updatePerson" parameterClass="examples.domain.Person">
            UPDATE PERSON SET
                  PER_FIRST_NAME = #firstName#,
                  PER_LAST_NAME = #lastName#,
                  PER_BIRTH_DATE = #birthDate#,
                  PER_WEIGHT_KG = #weightInKilograms#,
                  PER_HEIGHT_M = #heightInMeters#
            WHERE PER_ID = #id#
      </update>
      <!-- 删除    -->
      <delete id="deletePerson" parameterClass="examples.domain.Person">
            DELETE PERSON WHERE
                  PER_ID = #id#
      </delete>
</sqlMap>

5:对应表 Person.sql

CREATE TABLE PERSON(
	PER_ID NUMBER (5, 0) NOT NULL,
	PER_FIRST_NAME VARCHAR (40) NOT NULL,
	PER_LAST_NAME VARCHAR (40) NOT NULL,
	PER_BIRTH_DATE DATETIME ,
	PER_WEIGHT_KG NUMBER (4, 2) NOT NULL,
	PER_HEIGHT_M NUMBER (4, 2) NOT NULL,
	PRIMARY KEY (PER_ID)
)

 6:封装

public class MyAppSqlConfig {
      private static final SqlMapClient sqlMapClient ;
      static {
            try {
               String resource = "com/ibatis/example/sql-map-config.xml";
               Reader reader = Resources.getResourceAsReader(resource);
               sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);
            } catch (Exception e) {
                  e.printStackTrace();
            }
      }
 
      public static SqlMapClient getSqlMapInstance() {
            return sqlMapClient;
      }
}

 7:应用

public class Person {
      public static void main(String[] args)
      {
            //---------查询--------------
           SqlMapClient sqlMapClient = MyAppSqlMapConfig.getSqlMapInstance();
            Integer personPk = new Integer(5);
            Person person = (Person) sqlMapClient.queryForObject ("getPerson", personPk);
           
            //---------更新-------------
            person.setHeightInMeters(1.83);
            person.setWeightInKilograms(86.36);
            sqlMapClient.update("updatePerson", person);
           
            //---------删除----------
            sqlMapClient.delete("deletePerson", person);
           
            //---------插入----------
            Person newPerson = new Person();
            newPerson.setId(11);
            newPerson.setFirstName("Clinton");
            newPerson.setLastName("Begin");
            newPerson.setBirthDate (null);
            newPerson.setHeightInMeters(1.83);
            newPerson.setWeightInKilograms(86.36);
            sqlMapClient.insert ("insertPerson", newPerson);
 
      }
} 
分享到:
评论

相关推荐

    ibatis初级入门(主要是ibatis的配置简单介绍).

    本教程将带你入门Ibatis,主要关注其配置方面的基础知识。 首先,我们需要理解Ibatis的核心理念:它是一个SQL映射框架,允许开发者将SQL语句与Java代码分离,以提高可维护性和灵活性。Ibatis通过XML或注解方式定义...

    IBATIS视频入门 abator代码生成器

    "IBATIS视频入门 abator代码生成器" 这个标题指出,这是一份关于学习IBATIS框架的初级教程,特别关注的是其代码生成工具——Abator。IBATIS是一个开源的Java框架,它允许开发人员将SQL语句直接集成到Java代码中,以...

    ibatis入门学习经典案例

    【标签】"ibatis入门案例"明确了这个案例是面向初级用户的,它将涵盖MyBatis的基本概念,如SQL映射文件、Mapper接口、事务管理等,并通过实际的数据库操作展示如何使用MyBatis进行数据存取。 【压缩包子文件的文件...

    freemarker+struts2+ibatis入门学习摘要

    "freemarker+struts2+ibatis入门学习摘要" 这个标题揭示了本文档将围绕三个核心Java技术框架进行讲解:FreeMarker、Struts2和iBatis。这些是Java Web开发中常用的技术,它们分别负责视图层、控制层和数据访问层的...

    01_ibatis教程_准备ibatis环境.zip

    "01_ibatis教程_准备ibatis环境.zip" 这个标题表明这是一个关于Ibatis的初级教程,主要聚焦在如何配置和准备Ibatis开发环境。Ibatis是一个优秀的、开源的Java持久层框架,它允许开发者将SQL语句直接写在配置文件中,...

    ibatis in action

    6. **附录:iBATIS.NET快速入门**(第329页):为使用.NET平台的开发者提供了一个简短的iBATIS.NET入门指南。 通过以上内容可以看出,《iBATIS in Action》这本书是一本内容详实、覆盖范围广泛的iBATIS指南,适合从...

    ibatis小例子

    【标题】"ibatis小例子"揭示了一个关于iBatis框架的初级教程,它是一个用于Java应用程序的持久层框架,特别适用于那些希望将SQL映射到Java代码中的开发者。iBatis提供了一种灵活的方式,使得数据库交互变得更加简单...

    dalgenx:dalgenX是对支付宝dalgen代码生成器的开源实现,freemarker版,可迭代开发生成器,同时支持ibatis和mybatis

    介绍 ...与支付宝dalgen还有一个区别:支付宝dalgen只支持ibatis,而dalgenX可以在ibatis与mybatis之间自由切换生成.dalgenX解决dalgen中DDD模型开发中的失血模式下的失忆问题。 dalgenX中的sql为bati

    程序员从初级到高级知识汇集

    【程序员从初级到高级知识汇集】是一本涵盖了程序员从入门到精通所需掌握的全面知识的资料集合。本书针对初级和高级程序员,旨在提供一个系统化的学习路径,帮助程序员提升技能,成为行业专家。 1. **Java知识** -...

    JavaEE程序员必读图书大推荐

    iBatis是另一种流行的Java持久层框架,本书通过实战案例介绍了如何有效地使用iBatis进行数据库操作。 - **《精通Hibernate:Java对象持久化技术详解》** 星级:★★★★☆ 适合对象:初级,中级,高级 ...

    JavaEE程序员必读图书大推荐参照.pdf

    3. 《iBatis 实践》:iBatis 必看参考书,in action 从未让人失望过。 4. 《精通 Hibernate:Java 对象持久化技术详解》:Hibernate 必备参考书,也是国人写的不错的书。 5. 《Struts 2.1 权威指南》:学习 Struts2 ...

    Java程序猿技术路线图

    * Struts2 表现层框架:入门配置、核心组件、标签库、国际化、数据校验、Sitemesh 集成转换器、拦截器、集成 Hibernate/iBATIS * Spring 业务层框架:入门配置、IoC 容器、MVC、标签库、国际化、数据校验、数据库...

    javaweb学习路线新手专属-华清远见.docx

    1. **ORM框架**:Hibernate和iBATIS允许更高效地操作数据库,简化数据访问。 2. **MVC框架**:学习Struts1和Struts2,理解MVC设计模式,提高Web应用的结构清晰度。 **进阶阶段**,向着高级软件工程师迈进: 1. **...

    JAVA技术体系

    - **iBATIS框架**:学习另一种流行的ORM框架iBATIS。 #### 七、Java高级软件工程师 - **开源技术和框架**:了解各种开源框架和技术,如工作流引擎、规则引擎等。 - **分布式开发技术**:学习Java中的分布式技术,如...

    Java技术体系图.pdf

    Java 技术体系图涵盖了从基础到高级的全方位Java知识,适合程序员从入门到精通的学习路径。以下是对这个体系图中关键知识点的详细解释: 1. **Java 开发环境**: - **JDK**:Java Development Kit,是开发Java应用...

Global site tag (gtag.js) - Google Analytics