`
bluemusic
  • 浏览: 48854 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

iBatis3 Note(二) : 初识Hello World

阅读更多

和学习所有框架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;

 

 数据如下

 

 

 

同时关注几个文件

  1. ibatis-config.xml
  2. config.properties
  3. helloworld.map.xml

 

  1. 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
1
0
分享到:
评论

相关推荐

    iBatis入门Helloworld

    iBatis,现已被更名为MyBatis,是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。...通过这个简单的"iBatis入门Helloworld"项目,你可以快速掌握iBatis的基础操作,并为进一步学习和应用打下坚实基础。

    iBatis2学习笔记

    3.iBatis2学习笔记:单表映射 .doc 4.iBatis2学习笔记:SqlMap的配置总结(18条).doc 5.iBatis2学习笔记:入参和返回值的问题.doc 6.iBatis2学习笔记:一对多映射(双向).doc 7.iBatis2学习笔记:多对多映射(双向)...

    ibatis hello world code

    【标题】"iBATIS Hello World代码" 是一篇关于如何开始使用iBATIS框架的教程。iBATIS是一个优秀的开源Java持久层框架,它简化了数据库操作与Java应用程序的集成,使得开发者可以专注于业务逻辑而不必过于关心底层的...

    iBATIS 三个版对比

    - **iBATIS v3**:进一步发展为`ibatis-3-config.dtd`。 DTD定义的变化体现了每个版本对于配置文件结构的不同要求,随着版本的演进,DTD定义也在不断优化,以支持更多的配置选项。 - **configuration标签:** ...

    ibatis 第一个helloWorld

    【标题】:“ibatis 第一个helloWorld” 【知识点详解】: Ibatis,作为一个轻量级的持久层框架,是Java开发中的重要工具,它将SQL语句与Java代码分离,提高了代码的可读性和可维护性。在这个“ibatis 第一个hello...

    MyBatis_01_HelloWorld

    在本教程"**MyBatis_01_HelloWorld**"中,我们将探索如何使用MyBatis进行基本的数据库操作,实现一个简单的“Hello, World”示例。 首先,我们需要了解MyBatis的核心组件:SqlSessionFactory和SqlSession。...

    ibatis2.X升级mybatis3.X之曲径通幽处

    本篇文章将探讨从ibatis2.x升级到mybatis3.x的过程,揭示其中的技术变迁和核心变化。 Ibatis2.x是一款轻量级的ORM框架,它允许开发者通过SQL Map配置文件来编写SQL语句,提供了灵活的SQL控制。然而,随着技术的发展...

    Ibatis3手册 Ibatis3参考手册

    ### 二、Ibatis3的核心概念 #### 1. **SqlSessionFactory** `SqlSessionFactory` 是用于创建 `SqlSession` 的工厂类,它是线程安全的,因此在整个应用中通常只需要一个实例。创建 `SqlSessionFactory` 的过程涉及...

    iBatis.Net 入门例子,类似于 HelloWorld

    这个"iBatis.Net 入门例子"就像是.NET开发中的"Hello, World!",它通过一个简单的控制台程序展示了如何配置和使用iBatis.Net进行数据访问。 首先,让我们了解一下iBatis.Net的核心概念。iBatis.Net由以下几个关键...

    mybatis的Helloworld

    【标题】"mybatis的Helloworld" 在Java开发领域,MyBatis是一个广泛使用的持久层框架,它简化了数据库操作,使开发者能够更方便地进行数据存取。本篇文章将详细解析MyBatis的“Hello World”实例,帮助初学者快速...

    ibatis3资料-介绍

    4. **缓存机制增强**:iBATIS3引入了更高级的缓存机制,包括一级缓存和二级缓存,以及自定义缓存实现,这有助于减少数据库访问次数,提高应用性能。 5. **类型处理器扩展**:iBATIS3允许开发者自定义类型处理器,...

    博客(传琦):初识Mybatis 对应的源码

    【初识Mybatis源码解析】 Mybatis 是一个流行的、基于Java的持久层框架,它简化了数据库操作,使得开发者可以更加专注于SQL语句的编写,而无需关注JDBC的繁琐工作。本篇将深入剖析Mybatis的核心概念,以及其在实际...

    一个程序员的自省 iBATIS In Action:iBATIS的安装和配置

    你可以从Apache iBATIS的官方网站下载预编译的二进制文件,包括dll文件、源代码、示例以及文档。下载后解压缩,将所需的dll文件添加到你的应用程序的引用中。例如,可以从`...

    ibatis总结 ibatis ibatis ibatis ibatis

    3. Struts、Spring与Ibatis的集成: - Struts作为MVC框架,主要负责视图与控制器的交互。在项目中,`cn.gov.yingtan.digital.portal.web.bz0101.javabean`可能代表实体类,而`...

    一个程序员的自省 iBATIS In Action:什么是iBATIS(二)

    【iBATIS简介】 iBATIS 是一个Java语言开发的持久层框架,它主要解决的是数据访问层的问题,使得开发者能够将SQL语句与Java代码分离,从而提高代码的可维护性和可测试性。iBATIS 提供了一个SQL映射框架,允许开发者...

    IBATIS3代码生成器

    【标题】"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-common包

    helloworld

    #### 二、IBATIS的核心特性 1. **“半自动化”ORM实现**: - 相对于Hibernate等提供了全面的数据库封装机制的“全自动化”ORM实现,IBATIS更侧重于POJO(Plain Old Java Object)与SQL之间的映射关系。这意味着...

    maven搭建SpringMVC+spring+ibatis

    在IT行业中,构建高效、可扩展的Web应用是至关重要的,而"Maven搭建SpringMVC+Spring+Ibatis"的组合则提供了一种强大的解决方案。本文将深入探讨这些技术及其集成,帮助你理解和掌握如何利用它们来构建现代化的Java ...

    ibatis源码

    3. emis05(iBATIS+Oracle).zip:这个项目特别提到了Oracle数据库,表明Ibatis在处理Oracle特定的SQL特性时,如PL/SQL、游标等,依然表现得游刃有余。Ibatis的灵活性使其能够适应各种数据库,包括Oracle、MySQL、SQL ...

Global site tag (gtag.js) - Google Analytics