一个简单的iBatis入门例子,用ORACLE和Java测试

目录结构:

1.导入iBatis和oracle驱动。

2.创建类Person.java

package com.ibeats;
import java.util.Date;

public class Person {
private int id;
private String firstName;
private String lastName;
private double weightInKilograms;
private double heightInMeters;
public int getId() {
  return id;
}
public void setId(int id) {
  this.id = id;
}
public String getFirstName() {
  return firstName;
}
public void setFirstName(String firstName) {
  this.firstName = firstName;
}
public String getLastName() {
  return lastName;
}
public void setLastName(String lastName) {
  this.lastName = lastName;
}
public double getWeightInKilograms() {
  return weightInKilograms;
}
public void setWeightInKilograms(double weightInKilograms) {
  this.weightInKilograms = weightInKilograms;
}
public double getHeightInMeters() {
  return heightInMeters;
}
public void setHeightInMeters(double heightInMeters) {
  this.heightInMeters = heightInMeters;
}
}

3.配置文件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>
    <properties resource="com/ibeats/db.properties" />  
<settings
  cacheModelsEnabled="true"
  enhancementEnabled="true"
  lazyLoadingEnabled="true"
  maxRequests="32"
  maxSessions="10"
  maxTransactions="5"
  useStatementNamespaces="false"
/>

<transactionManager type="JDBC" >
  <dataSource type="SIMPLE">
   <property name="JDBC.Driver" value="${driver}"/>
   <property name="JDBC.ConnectionURL" value="${url}"/>
   <property name="JDBC.Username" value="${user}"/>
   <property name="JDBC.Password" value="${password}"/>
  </dataSource>
</transactionManager>

<sqlMap resource="com/ibeats/Person.xml" />
</sqlMapConfig>

(文件元素说明:
resource:属性列表配置文件,以便用于数据库连接参数设置。
settings:
cacheModelsEnabled:数据高速缓存,提高程序性能,利用LRU(最近最久未使用)方法对使用过的数据保存在内存中。默认true
enhancementEnabled:指定是否用cglib中那些已优化的类来提高延迟加载的性能。默认ture
lazyLoadingEnabled:延迟加载,除非绝对需要,否则推迟加载的技术。默认true
maxRequests(已废弃):一次最多有多少个请求,默认为512
maxSessions(已废弃):任何时候只允许会话数,默认128
maxTransactions(已废弃):事务最大数目,默认32
useStatementNamespaces:在引用已映射语句时,是否需要使用限定名。默认false
transactionManager:处理所有的数据库事务。
        dataSoutce:数据源工厂
        property:配置项
sqlMap:配置SQLMAP文件
typeAlias:定义别名)

4.配置文件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">
<!-- Use primitive wrapper type (e.g. Integer) as parameter and allow results to
be auto-mapped results to Person object (Java Bean) properties -->
<select id="getPerson" parameterClass="int" resultClass="com.ibeats.Person">
  SELECT PER_ID as id,
  PER_FIRST_NAME as firstName,
  PER_LAST_NAME as lastName,
  PER_WEIGHT_KG as weightInKilograms,
  PER_HEIGHT_M as heightInMeters
  FROM PERSON
  WHERE PER_ID = #id#
</select>

</sqlMap>

(文件元素说明:
parameterClass:传入参数
resultClass:传出参数
)

5.数据库配置文件db.properties
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@127.0.0.1:1521:ORACLEXC
user=scott
password=tiger

6.测试类SqlMapClient.java
package com.ibeats;
import com.ibatis.sqlmap.client.*;
import com.ibatis.common.resources.*;
import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.List;

public class SqlMapClient {
public static void main(String args[]) {

try {
  com.ibatis.sqlmap.client.SqlMapClient sqlMap = null;
  String resource = "com/ibeats/SQLMapConfig.xml";
  Reader reader = Resources.getResourceAsReader (resource);
  sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
  Person person =(Person)sqlMap.queryForObject("getPerson",new Integer(1));
                System.out.println(person.getFirstName());  //打印
} catch (IOException e) {
  e.printStackTrace();
} catch (SQLException e1){
  e1.printStackTrace();
}
}
}

(说明:
queryForObject():获取一条记录。
queryForList():返回一行或多行,可用参数返回固定几行,可用分页。
)

大家只要改下数据库代码就可以在自己机器上运行了!

iBatis入门例子,用ORACLE和Java测试相关推荐

  1. 一个简单的iBatis入门例子

    一个简单的iBatis入门例子,用ORACLE和Java测试 目录结构: 1.导入iBatis和oracle驱动. ibatis-2.3.4.726.jar ojdbc14.jar 2.创建类com/ ...

  2. IBATIS入门小例子

    一个简单的iBatis入门例子,用ORACLE和Java测试 目录结构: 1.导入iBatis和oracle驱动. 2.创建类Person.java package com.ibeats; impor ...

  3. Restlet入门例子 - RESTful web framwork for java

    RESTful系列文章索引 Restlet入门例子 - RESTful web framwork for java [原创]Jersey入门例子 官方网站介绍: http://www.restlet. ...

  4. oracle java认证_如何通过Oracle的Java认证-开发人员实用指南

    oracle java认证 by javinpaul 由javinpaul 如何通过Oracle的Java认证-开发人员实用指南 (How to Pass Oracle's Java Certific ...

  5. 【原创】oracle的tpc-c测试及方法

    大家好,很高兴来到博客园分享自己的所见所得.希望和大家多多交流,共同进步. 本文重点在于简介使用BenchmarkSQL对oracle进行tpcc的测试步骤,只是一个简单入门的过程. 开源测试工具:B ...

  6. Xposed快速入门例子(二)----- 调方法的合适时机

    一.前言 上篇文章已经介绍了如何用Xposed实现调一个小功能的方法(Xposed快速入门例子(一)----- 拉黑好友) 那么这个代码在什么时机调用呢?我主要想到了以下两个模式. 二.两种调用模式 ...

  7. rabbitmq java 测试_RabbitMQ 简单测试

    RabbitMQ 测试 RabbitMQ 基于Erlang 实现, 客户端可以用Python | Java | Ruby | PHP | C# | Javascript | Go等语言来实现.这里做个 ...

  8. Oracle的Java模块化系统保卫战

    2017年企业新兴技术(ETE)大会上最为及时的演讲之一要算由Oracle JVM负责人Karen Kinnear呈献的"Java的未来:模块化及其他".在她演讲之前的这段时间发生 ...

  9. Oracle EBS渗透测试工具

    ERP安全是IT安全的独立部分.如今,ERP代表了各种基于不同技术编写的各种工具和服务.在安全领域拥有适当的知识和便于管理的工具是至关重要的. 当我们在探索Oracle电子商务套件安全性时,我们注意到 ...

最新文章

  1. 无监督域对抗算法:ICCV2019论文解析
  2. iframe中的奇怪现象
  3. 币圈“水逆”,暴跌与高危漏洞
  4. 车间AP无法接入故障分析处理
  5. 张志华 机器学习 两门课程正确顺序及视频连接
  6. SpringBoot_数据访问-整合MyBatis(二)-配置版MyBatis
  7. PMP之项目整合管理之变更管理计划
  8. Java技术:serialVersionUID作用介绍
  9. kali--linux--安装截图工具scrot
  10. 【高数】数学符号及读法大全and数学运算符号及含义
  11. 学科03:工程学重要模型
  12. Hulu2022校招 | 笔试真题及解法揭秘
  13. 测试hadoop服务器NodeManager无法连接ResourceManager问题
  14. 数据采集系统的抗干扰措施
  15. RK3399教程:wifi驱动调试技巧
  16. python3处理excel
  17. Backtracking algorithm梳理
  18. 谁是程序员的祖师爷?
  19. android卸载保留数据,android在卸载应用程序后保留数据库
  20. 算法训练二(字符串、模式匹配、堆栈、队列)(含解题思路)(上)

热门文章

  1. 美智库为机器人时代战争支招
  2. DirectX3D游戏制作之---游戏界面的设计
  3. Lodash.js学习(一)——初识Lodash
  4. Non-local U-Nets for Biomedical Image Segmentation
  5. Rasa项目中的文件都是干什么的?
  6. 记录一些常用软件的bug踩坑及修复策略(长期更新)
  7. jenkins自动部署项目到tomcat机器问题之jenkins打版项目卡住
  8. HTTP学习:关于长连接、短连接、持久连接介绍
  9. 使用python3爬取 黑客 小说所有章节
  10. VS 2019 MFC CRC16校验算法例程总结(计算法/查表法以及CRC16校验表自动生成)