`

Ibatis HelloWorld 入门

 
阅读更多

1.xml

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC" />
			<dataSource type="POOLED">
				<property name="driver" value="${driverClass}" />
				<property name="url" value="${url}" />
				<property name="username" value="${username}" />
				<property name="password" value="${password}" />
			</dataSource>
		</environment>
	</environments>
	<mappers>
		<mapper resource="com/ibatis/UserVo.xml" />
	</mappers>
</configuration>

 

 

2.userVo.xml

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ibatis">
	<select id="userVoList" parameterType="int" resultType="com.ibatis.UserVo">
		SELECT * FROM UserVo
	</select>
	<select id="queryUserVoById" parameterType="int" resultType="com.ibatis.UserVo">
		SELECT * FROM UserVo where id= #{id}
	</select>
	<insert id="insertUserVo" parameterType="com.ibatis.UserVo">
	    INSERT INTO UserVo(name,age,sex) values(#{name},#{age},#{sex})
	</insert>
</mapper>
 

3.jdbc.properties

 

driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost/msb
username=root
password=123456
 

package com.ibatis;

import java.io.Serializable;

/**
 * @ClassName UserVo
 * @Description TODO
 * @author LiuQing
 * @date 2012-10-25 下午10:04:55
 *
 */
public class UserVo implements Serializable {
	
	private Integer id;
	
	private String name;
	
	private String sex;
	
	private int age;
	
	public UserVo() {
	}

	public UserVo(Integer id) {
		super();
		this.id = id;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	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;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	@Override
	public String toString() {
		return "UserVo [id=" + id + ", name=" + name + ", sex=" + sex
				+ ", age=" + age + "]";
	}
	
	
	
	

}
 

test sample

 

package com.ibatis;

import java.io.IOException;
import java.io.InputStream;
import java.util.Collection;
import java.util.Properties;
import java.util.Random;

import javax.annotation.Resource;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

/**
 * @ClassName TestMan
 * @Description TODO
 * @author LiuQing
 * @date 2012-10-25 下午9:54:14
 *
 */
public class TestMan {
	
	private static SqlSessionFactory sessionFactory;
	
	private static ThreadLocal<SqlSession> sessiones = new ThreadLocal<SqlSession>();
	
	static {
		
		try {
		    InputStream myIbatis = TestMan.class.getResourceAsStream("/com/ibatis/myBatis-config.xml");
		    Properties config = new Properties();
			config.load(Resource.class.getResourceAsStream("/com/ibatis/jdbc.properties"));
			sessionFactory = new SqlSessionFactoryBuilder().build(myIbatis, config);
		} 
		catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	public SqlSession getSession() {
		if (sessiones.get() != null) {
			return sessiones.get();
		}
		SqlSession session =  sessionFactory.openSession();
		sessiones.set(session);
		return session;
	}
	
	public void release() {
		SqlSession session = sessiones.get();
		if (session != null) {
			session.close();
			sessiones.remove();
		}
	}
	
	/**
	 * 
	 * @Title addUserVo 
	 * @Description addition UserVo
	 * @param userVo
	 * @return  UserVo
	 */
	public UserVo addUserVo(UserVo userVo) {
		SqlSession session = this.getSession();
		session.insert("insertUserVo",userVo);
		session.commit();
		this.release();
		return userVo;
	}
	
	/**
	 * 
	 * @Title queryById 
	 * @Description queryById
	 * @param userVo
	 * @return  UserVo
	 */
	public UserVo queryById(UserVo userVo) {
		return this.getSession().selectOne("queryUserVoById", userVo.getId());
	}
	
	/**
	 * 
	 * @Title queryByAll 
	 * @Description 
	 * @return  Collection<UserVo>
	 */
	public Collection<UserVo> queryByAll() {
		return this.getSession().selectList("userVoList");
	}
	

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		TestMan testMan = new TestMan();
		UserVo vo = new UserVo();
		vo.setName("LouQing" + new Random().nextInt(94));
		vo.setAge(new Random().nextInt(34));
		vo.setSex("male");
		testMan.addUserVo(vo);
		
		Collection<UserVo> userVoes = testMan.queryByAll(); 
		
		for (UserVo en:userVoes) {
			System.out.println(en);
		}
		testMan.queryById(new UserVo(2));

	}

}
 

 

 

分享到:
评论

相关推荐

    iBatis入门Helloworld

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

    ibatis hello world code

    【标签】"ibatis hello world code" 说明了主要关注的是iBATIS的基础入门,通过编写简单的"Hello World"程序来介绍框架的基本操作和概念。 【压缩包子文件的文件名称列表】: 1. **使用数据库**:这部分可能涉及到...

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

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

    mybatis的Helloworld

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

    ibatis 使用手册

    入门教程通常从简单的Hello World示例开始,逐步引导读者了解如何创建和配置iBatis项目,编写第一条SQL,处理查询结果,以及如何进行异常处理。同时,还会讲解如何在实际项目中结合Spring等框架进行集成使用。 **...

    ibatis之helloword

    标题 "ibatis之helloworld" 暗示我们将探讨MyBatis框架的基础入门教程,一个流行的Java持久层框架,用于简化数据库操作。MyBatis允许开发者编写SQL语句,将它们映射到Java方法,提供了比传统的 JDBC 更高级别的抽象...

    Struts2轻松入门,合适入门的朋友。

    &lt;result name="success"&gt;/WEB-INF/helloworld.jsp ``` 这里定义了一个名为`helloWorld`的Action,其对应的类是`com.example.HelloWorldAction`,成功处理请求后返回名为`success`的结果,对应的视图是`helloworld...

    struts2入门教程

    - **第一个Struts2应用**:通过创建简单的“Hello World”应用,熟悉Struts2的基本配置和运行流程。 #### 三、Struts2核心概念 - **体系结构**:介绍Struts2的架构组成,包括FilterDispatcher、Action、Result、...

    SpringBatch批处理 刘相编

    入门篇介绍了批处理、Spring Batch的基本特性和新特性,快速入门的Hello World等内容引领读者入门,从而进入数据批处理的世界。基本篇重点讲述了数据批处理的核心概念、典型的作业配置、作业步配置,以及Spring ...

    Mybatis入门到实践.pdf

    ##### 2.8 使用 Mapper 接口开发 MyBatis HelloWorld 创建接口(Mapper)并在其中定义 SQL 映射方法,实现具体的业务逻辑。 #### 3. MyBatis 全局配置文件详解 ##### 3.1 MyBatis 全局配置文件简介 全局配置文件...

    轻松入门之Struts2

    这里的`&lt;action&gt;`元素定义了一个名为`helloWorld`的动作,它对应于`com.example.HelloWorldAction`类,成功处理后会跳转到`hello.jsp`页面。 ##### 3.3 Action配置 Action是Struts2中最核心的部分之一,每个Action...

    hibernate资料3

    在"004_尚学堂马士兵_Java视频教程_Hibernate3.3.2_Annotation版本的HelloWorld_总结.avi"中,马士兵老师将详细介绍使用注解进行配置的方式,这是Hibernate 3.3.2的一个重要特性。通过创建一个简单的HelloWorld示例...

    马士兵hibernate hibernate

    1. **HelloWorld**:这是学习任何新框架时的标准起点,通常包括XML配置和注解两种方式。在hibernate中,创建一个简单的实体类,如`Student`,然后通过配置文件(`hibernate.cfg.xml`)和映射文件(`.hbm.xml`)或...

    java培训安排

    - 第一个Java程序:HelloWorld。 - Java技术的关键特性:虚拟机、垃圾回收、代码安全性。 2. **第二天:Java基础语法** - 关键字、标识符、数据类型。 - 运算符、表达式。 - 分支语句:if-else、switch。 - ...

    struts2系列教程

    - **Hello World示例**:通过简单的示例介绍如何创建第一个Struts2应用。 #### 三、Struts2晋级 - **深入理解Struts2架构**:包括其MVC模式的具体实现、请求处理流程等。 - **核心组件详解**:如Action、...

    hibernate一些文档资料

    - **HelloWorld示例**:通过简单的例子介绍如何使用Hibernate进行基本的CRUD(创建、读取、更新、删除)操作。 - 配置Hibernate环境。 - 定义域模型类。 - 创建SessionFactory和Session对象。 - 使用Session对象...

    java学习知识点,从何学起

    开始学习时,你需要安装Java Development Kit (JDK),设置好开发环境,然后通过编写"Hello, World!"程序来熟悉基本语法。 接着,深入学习Java的基础知识。这包括变量、数据类型、控制结构(如if-else、switch、for...

Global site tag (gtag.js) - Google Analytics