IBATIS入门小例子
一个简单的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(doubleweightInKilograms) {
this.weightInKilograms =weightInKilograms;
}
public double getHeightInMeters() {
return heightInMeters;
}
public void setHeightInMeters(doubleheightInMeters) {
this.heightInMeters =heightInMeters;
}
}
3.配置文件SQLMapConfig.xml
<?xml version="1.0"encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//iBATIS.com//DTD SQL Map Config2.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">
<dataSourcetype="SIMPLE">
<propertyname="JDBC.Driver" value="${driver}"/>
<propertyname="JDBC.ConnectionURL" value="${url}"/>
<propertyname="JDBC.Username" value="${user}"/>
<propertyname="JDBC.Password" value="${password}"/>
</dataSource>
</transactionManager>
<sqlMapresource="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 (JavaBean) properties -->
<select id="getPerson"parameterClass="int"resultClass="com.ibeats.Person">
SELECT PER_ID as id,
PER_FIRST_NAME asfirstName,
PER_LAST_NAME aslastName,
PER_WEIGHT_KG asweightInKilograms,
PER_HEIGHT_M asheightInMeters
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.SqlMapClientsqlMap = 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():返回一行或多行,可用参数返回固定几行,可用分页。
)
大家只要改下数据库代码就可以在自己机器上运行了!
注意:数据库的列名是as 前面的。
IBATIS入门小例子相关推荐
- 基于vue-cli、elementUI的Vue超简单入门小例子
基于vue-cli.elementUI的Vue超简单入门小例子 这个例子还是比较简单的,独立完成后,能大概知道vue是干嘛的,可以写个todoList的小例子. 开始写例子之前,先对环境的部署做点简单 ...
- DMETL快速入门小例子
※DMETL的使用通常可以分为五个主要步骤:创建数据源.创建工程. 设计转换.设计作业和查看运行日志五个步骤. 下面以一个示例说明上述过程,该示例的功能是将BOOKSHOP示例库中 的EMPLOYEE ...
- .NET web开发入门小例子
1.简单例子 .NET C# 创建WebService服务简单的例子: https://www.cnblogs.com/myhalo/p/4624947.html 2.Asp.net网址如何调用web ...
- Cocos2d Lua 入门小例子 一个记忆力游戏
1.游戏说明 一个"记忆"类的比赛游戏.你和电脑对战,轮到谁的回合,谁翻两张牌,如果两张牌一样,就消掉这两张牌,得2分,可以继续翻牌,如果两张牌不一样,就换一个人.直到最后,看谁的 ...
- 机器视觉-简单入门小例子
*读入图像 read_image (Image, 'fabrik') *获取图像大小 get_image_size (Image, Width, Height) *设置窗口大小 dev_open_wi ...
- python open函数_精选2个小例子,带你快速入门Python文件处理
阅读本文大概需要7分钟讲完了函数和模块,我们来讲一讲文件的使用,python对数据的处理分两种一种是本地文件的处理,另外一种是通过网络数据处理(也就是爬虫相关的).而本地的数据处理,主要是通过文件的读 ...
- 一个简单的iBatis入门例子
一个简单的iBatis入门例子,用ORACLE和Java测试 目录结构: 1.导入iBatis和oracle驱动. ibatis-2.3.4.726.jar ojdbc14.jar 2.创建类com/ ...
- iBatis入门例子,用ORACLE和Java测试
一个简单的iBatis入门例子,用ORACLE和Java测试 目录结构: 1.导入iBatis和oracle驱动. 2.创建类Person.java package com.ibeats; impor ...
- 从一个小例子看贝叶斯公式的应用(学习简单、基础、入门的例子)
#从一个小例子看贝叶斯公式的应用 ###应用Bayesian公式考察如下的实例并回答问题. 张某为了解自己患上了X疾病的可能性,去医院作常规血液检查.其结果居然为阳性,他赶忙到网上查询.根据网上的资料 ...
最新文章
- 新基建下的自动驾驶:单车智能和车路协同之争
- [python Cookbook]阅读笔记
- 前端性能分析工具利器
- Angular input控件的click事件表达式如何被转换成JavaScript函数
- 一个程序员转产品经理的经验分享
- 阿里云HBase推出全新X-Pack服务 定义HBase云服务新标准...
- 机器人学中的状态估计 中文版_《机器人学中的状态估计》-05偏差,匹配和外点...
- 唐骏:毕业5年决定你的命运
- Linux学习笔记(1)linux的开关机及重启
- Spring Boot整合模板引擎freemarker
- 惠普136w墨粉量低_打印机墨粉量低怎么处理_打印机显示墨粉量低解决方法
- css图片保持原有尺寸比例
- 叉积 微分 恒等式_一个斜三角中的恒等式
- Android Gatekeeper梳理
- 云主机安装redis
- 无线通信中的小尺度衰落
- 叶新伟 php,基于php+mysql技术bbs论坛设计的开发与实现最终版(样例3)
- 回滚机制有多少种?它们的实现原理是什么?这些你确定都知道?
- python 图片识别服装_基于树莓派的服装识别系统及方法与流程
- ZUC祖冲之密码算法