和学习所有框架API一样,有个HelloWorld的例子
本着1+1=2学习的逻辑,以下继续对iBatis3做一些简单实现
熟悉Hibernate的都知道如下几步
/**
* 1. create Configuration
* 2. build SessionFactory
* 3. open Session
* 4. begin Transaction
* 5. do crud operation
* flush commit rollback
* 6. close resource
*/
而iBatis3会有如下几步
/**
* 1. create SqlSessionFactoryBuilder
* 2. read config file
* 3. build Factory
* 4. open session
* 5. do crud operations
* 6. close session
*/
第一个实现Hello World,
先看下文件结构
既然是iBatis,首先创建脚本,用的是mysql
DROP TABLE IF EXISTS `ibatis`.`t_helloworld`;
CREATE TABLE `ibatis`.`t_helloworld` (
`hw_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(45) NOT NULL,
`age` int(2) unsigned NOT NULL,
PRIMARY KEY (`hw_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
数据如下
同时关注几个文件
- ibatis-config.xml
- config.properties
- helloworld.map.xml
- ibatis-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN" "http://ibatis.apache.org/dtd/ibatis-3-config.dtd">
<configuration>
<!-- 数据库配置文件 -->
<properties resource="basic/config.properties"/>
<!-- default属性一定要指定为其中某一environment的id -->
<environments default="helloworld">
<environment id="helloworld">
<!-- type暂时用最简单的JDBC,其他可选项MANAGED -->
<transactionManager type="JDBC" />
<!-- type暂时用最简单的POOLED,其他可选项UNPOOLED,JNDI -->
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
<!-- property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/ibatis"/>
<property name="username" value="root"/>
<property name="password" value="abcdef"/ -->
</dataSource>
</environment>
</environments>
<!-- 映射文件 -->
<mappers>
<mapper resource="basic/helloworld.map.xml"/>
</mappers>
</configuration>
2. config.properties
driver=com.mysql.jdbc.Driver
url=jdbc\:mysql\://localhost\:3306/ibatis
username=root
password=abcdef
3. helloworld.map.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD iBatis Mapper 3.0 //EN" "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<mapper namespace="basic.HelloWorld">
<select id="getHelloworlds" resultType="java.util.List">
select * from t_helloworld
</select>
<select id="getHelloworldsByHwId" resultType="java.util.List" parameterType="int">
select * from t_helloworld where hw_id = #{hw_id}
</select>
</mapper>
FirstTest.java
package basic;
import java.io.IOException;
import java.io.Reader;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class FirstTest {
public static void main(String[] args) throws IOException {
String configXml = "basic/ibatis-config.xml";
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
Reader config = Resources.getResourceAsReader(configXml);
SqlSessionFactory factory = builder.build(config);
SqlSession session = factory.openSession();
List<HelloWorld> list = null;
try {
list = session.selectList("getHelloworlds");
System.out.println(list.size());
list = session.selectList("getHelloworldsByHwId", 1);
System.out.println(list.size());
} finally {
session.close();
}
}
}
- 大小: 1.7 KB
- 大小: 18.2 KB
分享到:
相关推荐
iBatis,现已被更名为MyBatis,是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。...通过这个简单的"iBatis入门Helloworld"项目,你可以快速掌握iBatis的基础操作,并为进一步学习和应用打下坚实基础。
3.iBatis2学习笔记:单表映射 .doc 4.iBatis2学习笔记:SqlMap的配置总结(18条).doc 5.iBatis2学习笔记:入参和返回值的问题.doc 6.iBatis2学习笔记:一对多映射(双向).doc 7.iBatis2学习笔记:多对多映射(双向)...
【标题】"iBATIS Hello World代码" 是一篇关于如何开始使用iBATIS框架的教程。iBATIS是一个优秀的开源Java持久层框架,它简化了数据库操作与Java应用程序的集成,使得开发者可以专注于业务逻辑而不必过于关心底层的...
- **iBATIS v3**:进一步发展为`ibatis-3-config.dtd`。 DTD定义的变化体现了每个版本对于配置文件结构的不同要求,随着版本的演进,DTD定义也在不断优化,以支持更多的配置选项。 - **configuration标签:** ...
【标题】:“ibatis 第一个helloWorld” 【知识点详解】: Ibatis,作为一个轻量级的持久层框架,是Java开发中的重要工具,它将SQL语句与Java代码分离,提高了代码的可读性和可维护性。在这个“ibatis 第一个hello...
在本教程"**MyBatis_01_HelloWorld**"中,我们将探索如何使用MyBatis进行基本的数据库操作,实现一个简单的“Hello, World”示例。 首先,我们需要了解MyBatis的核心组件:SqlSessionFactory和SqlSession。...
本篇文章将探讨从ibatis2.x升级到mybatis3.x的过程,揭示其中的技术变迁和核心变化。 Ibatis2.x是一款轻量级的ORM框架,它允许开发者通过SQL Map配置文件来编写SQL语句,提供了灵活的SQL控制。然而,随着技术的发展...
### 二、Ibatis3的核心概念 #### 1. **SqlSessionFactory** `SqlSessionFactory` 是用于创建 `SqlSession` 的工厂类,它是线程安全的,因此在整个应用中通常只需要一个实例。创建 `SqlSessionFactory` 的过程涉及...
这个"iBatis.Net 入门例子"就像是.NET开发中的"Hello, World!",它通过一个简单的控制台程序展示了如何配置和使用iBatis.Net进行数据访问。 首先,让我们了解一下iBatis.Net的核心概念。iBatis.Net由以下几个关键...
【标题】"mybatis的Helloworld" 在Java开发领域,MyBatis是一个广泛使用的持久层框架,它简化了数据库操作,使开发者能够更方便地进行数据存取。本篇文章将详细解析MyBatis的“Hello World”实例,帮助初学者快速...
4. **缓存机制增强**:iBATIS3引入了更高级的缓存机制,包括一级缓存和二级缓存,以及自定义缓存实现,这有助于减少数据库访问次数,提高应用性能。 5. **类型处理器扩展**:iBATIS3允许开发者自定义类型处理器,...
【初识Mybatis源码解析】 Mybatis 是一个流行的、基于Java的持久层框架,它简化了数据库操作,使得开发者可以更加专注于SQL语句的编写,而无需关注JDBC的繁琐工作。本篇将深入剖析Mybatis的核心概念,以及其在实际...
你可以从Apache iBATIS的官方网站下载预编译的二进制文件,包括dll文件、源代码、示例以及文档。下载后解压缩,将所需的dll文件添加到你的应用程序的引用中。例如,可以从`...
3. Struts、Spring与Ibatis的集成: - Struts作为MVC框架,主要负责视图与控制器的交互。在项目中,`cn.gov.yingtan.digital.portal.web.bz0101.javabean`可能代表实体类,而`...
【iBATIS简介】 iBATIS 是一个Java语言开发的持久层框架,它主要解决的是数据访问层的问题,使得开发者能够将SQL语句与Java代码分离,从而提高代码的可维护性和可测试性。iBATIS 提供了一个SQL映射框架,允许开发者...
【标题】"IBATIS3代码生成器"是一款专为基于IBATIS3框架的项目设计的工具,它能够自动生成常见的SQL映射文件、Java DAO接口和实现类,大大提高了开发效率,降低了手动编写这些代码的工作量。该工具的核心理念是通过...
ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包
#### 二、IBATIS的核心特性 1. **“半自动化”ORM实现**: - 相对于Hibernate等提供了全面的数据库封装机制的“全自动化”ORM实现,IBATIS更侧重于POJO(Plain Old Java Object)与SQL之间的映射关系。这意味着...
在IT行业中,构建高效、可扩展的Web应用是至关重要的,而"Maven搭建SpringMVC+Spring+Ibatis"的组合则提供了一种强大的解决方案。本文将深入探讨这些技术及其集成,帮助你理解和掌握如何利用它们来构建现代化的Java ...
3. emis05(iBATIS+Oracle).zip:这个项目特别提到了Oracle数据库,表明Ibatis在处理Oracle特定的SQL特性时,如PL/SQL、游标等,依然表现得游刃有余。Ibatis的灵活性使其能够适应各种数据库,包括Oracle、MySQL、SQL ...