iBatis第二章:搭建一个简单的iBatis开发环境
使用 iBatis 框架开发的基本步骤如下:
1、新建项目(iBatis是持久层框架,可以运用到java工程或者web工程都可以)

这里我们建立一个 web 工程测试。
2、导入相应的框架 jar 包

需要导入数据库对应的驱动包:这里是连接 mysql,用mysql-connection-java-3.1.13-bin.jar
同时需要导入 iBatis 框架包:ibatis-conmmon-2.jar、 ibatis-sqlmap-2.jar
3、开发项目中的实例模型(假设数据库对应的表已经建好)

package com.test.bean;
/**
* @author Administrator
* Student 实体类
*/
public class Student {
private String name;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
数据库对应建立表如下:

4、开发 iBatis 数据库配置文件
在项目中新建一个 iBatis 的核心配置文件,器内容如下:
<?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>
<!-- 配置事务管理 -->
<transactionManager type="JDBC">
<!-- 配置数据源 -->
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
<property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/ibatis"/>
<property name="JDBC.Username" value="root"/>
<property name="JDBC.Password" value="123456"/>
</dataSource>
</transactionManager>
<!-- 引用具体的 sql 配置文件 -->
<sqlMap resource="config/sqlmap-mapping-student.xml"/>
</sqlMapConfig>
5、开发数据库连接工具类
这个类主要用于从配置文件读取 iBatis 的配置,提供操作数据源的对象。
package com.test.dbutil;
import java.io.Reader;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
/**
* @author Administrator
* 数据源连接工具类
*/
public class DBUtils {
private static SqlMapClient sqlMapClient = null;
static{
try {
//得到数据源配置文件的信息
Reader reader = Resources.getResourceAsReader("sqlmap-config.xml");
//SqlMapClient是 iBatis 操作数据库的接口,通常CRUD都是通过它来完成
sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);
//关闭 reader 流
reader.close();
} catch (Exception e) {
System.out.println("获取数据源出错:"+e.getMessage());
}
}
/**
* 得到操作数据库的实例
* @return
*/
public static SqlMapClient getInstance(){
return sqlMapClient;
}
}
6、编写具体的 sql 配置文件
iBatis一般将具体的 sql 写在单独的配置文件中,在 iBatis 核心配置文件中进行引入即可。下面是一个简单的示例:
sqlmap-mapping-student.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>
<select id="my_queryForMap" resultClass="com.test.bean.Student">
select name,sex from t_stu
</select>
</sqlMap>
7、从工具中得到数据库操作对象,进行测试
import java.sql.SQLException;
import java.util.List;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.test.bean.Student;
public class TestIbatis {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SqlMapClient sqlMapClient = DBUtils.getInstance();
try {
//这里的my_queryForMap对应sqlmap-mapping-student.xml中的<select>标签中的id,后面可以传递一
//个参数作为查询条件,这里我们由于查询全部,所以没有传递。具体后面介绍。
List<Student> stuList = sqlMapClient.queryForList("my_queryForMap", null);
for(Student s:stuList){
System.out.println(s.getName());
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
这里需要说明一下:在需要使用iBatis与数据库交互的地方,我们只要得到了sqlMapClient对象,就有了与数据库打交道的工具,这个对象提供了一系列操作数据的方法,后面我们着重介绍。
下面提供一个项目的整体结构图。后期我们开发不同的模型时,值需要将不同的模型分别建立一个 sql 配置文件,将与其相关的sql 配置到里面,并引入到 iBatis 核心配置文件中即可。

iBatis第二章:搭建一个简单的iBatis开发环境的更多相关文章
- 搭建一个完整的Java开发环境
搭建一个完整的Java开发环境 作为一个Java程序员,配置一个java开发环境是必备的技能,今天给广大菜鸟初学者补上一课.环境的配置,大概就分三个1,JDK 2,Tomcat(或者其他的)3,ecl ...
- Golang学习-第二篇 搭建一个简单的Go Web服务器
序言 由于本人一直从事Web服务器端的程序开发,所以在学习Golang也想从Web这里开始学起,如果对Golang还不太清楚怎么搭建环境的朋友们可以参考我的上一篇文章 Golang的简单介绍及Wind ...
- 通过Jetty搭建一个简单的Servlet运行环境
最近在做一些简单的Servlet开发的时候,感觉每次调试的时候都要发布到tomcat上很麻烦,把程序共享给同事也很麻烦,需要帮他设置本地的tomcat环境. 在网上找了找其他的Servlet运行环境, ...
- 如何成为游戏的生产者——第二章:如何开始你的编程(开发环境的搭建、C++语言适应)
如何成为游戏的生产者--文章二章:怎样開始你的编程 小故事:上节说到我六年级打开了那本C语言的书,然后其实我还是没看懂.好像看懂了一些printf语句.之后遇到了史无前例的困难--怎么让代码执行起来. ...
- 菜鸟从零学编程(七)——搭建一个完整的Java开发环境
作为一个Java程序员,配置一个java开发环境是必备的技能,今天给广大菜鸟初学者补上一课.环境的配置,大概就分三个1,JDK 2,Tomcat(或者其他的)3,eclipse(或者myeclipse ...
- 菜鸟学Java(十二)——搭建一个完整的Java开发环境
作为一个Java程序员,配置一个java开发环境是必备的技能,今天给广大菜鸟初学者补上一课.环境的配置,大概就分三个1,JDK 2,Tomcat(或者其他的)3,eclipse(或者myeclipse ...
- ubuntu下搭建一个数据化处理的开发环境
1.搭建matplotlib环境 构建matplotlib运行环境,需要满足相关软件环境. numpy库提供大数据集的数据的数据结构和数学方法.诸如元组.列表或字典等python的默认数据结构同样可以 ...
- Spring第二弹—–搭建与测试Spring的开发环境
PS:Spring既可以使用在javaSE中,也可以使用在javaWeb中. 使用Spring需要的jar 下载spring(我下载的是2.5.6版本),然后进行解压缩,在解压目录中找到下面jar文件 ...
- 尝试自己搭一个简单的typescript运行环境
开发typescript项目有一些现成的脚手架,比如:typescript-library-starter,它的配置齐全,更适合用在实际项目开发上.其实在学习阶段可以自己搭建一个简单的typescri ...
随机推荐
- cshtml中正则表达式使用后台代码
//定义变量 bool a = false; //正则表达式 string b = @" ^ (13[0 - 9] | 14[5 | 7] | 15[0 | 1 | 2 | 3 | 5 | ...
- 我们是如何通过全球第一免费开源ERP Odoo做到项目100%交付
传统友商ERP的交付过程 一.先初步需求调研,后选型功能模块 传统友商ERP第一件事情先对客户方进行初步的调研,客户方无论说什么,友商听过算过,只关心你人数多少,有哪些人涉及到哪些模块,接着对模块进行 ...
- OPPO X9007 升级到Android5.0 Color2.1(root版) 详细纪实
今天要做个测试,而测试APK刚好是要求最低5.0版本,正好手里有个老款手机OPPO X9007,而预装的系统是4.3,试了下虽然也能运行,但是主要功能不正常,毕竟人家APK最低要求摆在那. 反正这个手 ...
- 随笔:WPS居然!出了!Mac版!
震惊! WPS! 居然! 出了! Mac版! 刚刚,我打算改一个word文档,打开了我的WIN10虚拟机,然而由于这个win10是前两天重装的,上面并没有word和wps. 当我打开wps官网的时候, ...
- 开源:Taurus.MVC 框架 (已支持.NET Core)
为什么要创造Taurus.MVC: 记得被上一家公司忽悠去负责公司电商平台的时候,情况是这样的: 项目原版是外包给第三方的,使用:WebForm+NHibernate,代码不堪入目,Bug无限,经常点 ...
- Linux 桌面玩家指南:18. 使用 Docker 隔离自己的开发环境和部署环境
特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...
- 【工具篇】Sublime Text 2 安装汉化破解、插件包安装教程详解
Sublime Text概述: Sublime Text是一个代码编辑器,也是HTML和散文先进的文本编辑器. 漂亮的用户界面和非凡的功能,例如:迷你地图,多选择,Python插件,代码段等等. 完全 ...
- CAS机制与自旋锁
CAS(Compare-and-Swap),即比较并替换,java并发包中许多Atomic的类的底层原理都是CAS. 它的功能是判断内存中某个地址的值是否为预期值,如果是就改变成新值,整个过程具有原子 ...
- 【深度学习】--DCGAN从入门到实例应用
一.前述 DCGAN就是Deep Concolutions应用到GAN上,但是和传统的卷积应用还有一些区别,最大的区别就是没有池化层.本文将详细分析卷积在GAN上的应用. 二.具体 1.DCGAN和传 ...
- mysql的学习笔记(五)
1.子查询,出现在其他SQL语句的SELECT子句 SELECT * FROM t1 WHERE col1=(SELECT col2 FROM t2); 第一个SELECT称为外层查询,第二个称为子查 ...