`

ibatis 3 学习笔记1

阅读更多
Ibatis更新还真快!呵呵,看到csdn友博客,受益匪浅,转帖大家分享,便于自己保存

准备ibatis环境

oracle 10g express            ibatis beta 5

新建工程 在WEBINF\lib下 导入以下包:
..\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ojdbc14.jar
ibatis-3-core-3.0.0.208.jar


总配置文件SqlMapConfig.xml

//ibatis.apache.org//DTD Config 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-config.dtd">

<configuration>
	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC"/>
			<dataSource type="POOLED">
				<property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
				<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"/>
				<property name="username" value="puf"/>
				<property name="password" value="pufang890505"/>
			</dataSource>
		</environment>
	</environments>
	
	<mappers>
		<mapper resource="cn/pf/ibatis/domain/Student.xml"/>
	</mappers>
</configuration>




关于每个实体的映射文件(map)Student.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">

<mapper namespace="cn.pf.ibatis.domain.StudentMapper">
	<select id="selectStudent" parameterType="int" resultType="cn.pf.ibatis.domain.Student">
		select * from Student where id = #{id}
	</select>
</mapper>


创建Student POJO

package cn.pf.ibatis.domain;

import java.util.Date;

/**
 * 学生PO
 * @author  pf
 * @version 2010-3-16下午03:00:00
 */
public class Student {
	/**
	 * 学生编号
	 */
	private int id;
	/**
	 * 学生姓名
	 */
	private String name;
	/**
	 * 学生专业
	 */
	private String major;
	/**
	 * 学生生日
	 */
	private Date birth;
	/**
	 * 学生分数
	 */
	private double score;
	/**
	 * ... 构造函数
	 */
	public Student() {
		super();
	}
	/**
	 * ... 构造函数
	 * @param id
	 * @param name
	 * @param major
	 * @param birth
	 * @param score
	 */
	public Student(int id, String name, String major, Date birth, double score) {
		super();
		this.id = id;
		this.name = name;
		this.major = major;
		this.birth = birth;
		this.score = score;
	}
	/**
	 * id getter 方法
	 * @return the id
	 */
	public int getId() {
		return id;
	}
	/**
	 * id setter 方法
	 * @param id the id to set
	 */
	public void setId(int id) {
		this.id = id;
	}
	/**
	 * name getter 方法
	 * @return the name
	 */
	public String getName() {
		return name;
	}
	/**
	 * name setter 方法
	 * @param name the name to set
	 */
	public void setName(String name) {
		this.name = name;
	}
	/**
	 * major getter 方法
	 * @return the major
	 */
	public String getMajor() {
		return major;
	}
	/**
	 * major setter 方法
	 * @param major the major to set
	 */
	public void setMajor(String major) {
		this.major = major;
	}
	/**
	 * birth getter 方法
	 * @return the birth
	 */
	public Date getBirth() {
		return birth;
	}
	/**
	 * birth setter 方法
	 * @param birth the birth to set
	 */
	public void setBirth(Date birth) {
		this.birth = birth;
	}
	/**
	 * score getter 方法
	 * @return the score
	 */
	public double getScore() {
		return score;
	}
	/**
	 * score setter 方法
	 * @param score the score to set
	 */
	public void setScore(double score) {
		this.score = score;
	}
	/**
	 * 转换对象为字符串
	 * @return 对象转换后的字符串
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "Student [birth=" + birth + ", id=" + id + ", major=" + major
				+ ", name=" + name + ", score=" + score + "]";
	}
	
	
}


test.java

String resource = "SqlMapConfig.xml";
Reader reader = null;
try {
	//使用ibatis提供的Resources类读取资源文件
	reader = Resources.getResourceAsReader(resource);
} catch (IOException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}
//根据资源文件内容建立session工厂
SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader);   
//session工厂打开一个session
SqlSession session = sqlMapper.openSession(true);  
		
Student student;
try{
	student = (Student)session.selectOne("cn.pf.ibatis.domain.StudentMapper.selectStudent", 1);
}finally{
	session.close();
}
		
System.out.println(student.toString());


ibatis 3 果然改动很大,调试花了不少时间,很多细小的错误耽误了很久。那个ibatis 3 user guide缺少完整的实例真是不爽,自己一点点试探过来,继续研究各种配置,下一步完成一个基本的crud操作。
分享到:
评论

相关推荐

    iBatis2学习笔记

    1.iBatis2学习笔记:基本原理和配置.doc 2.iBatis2学习笔记:与Spring2的整合.doc 3.iBatis2学习笔记:单表映射 .doc 4.iBatis2学习笔记:SqlMap的配置总结(18条).doc 5.iBatis2学习笔记:入参和返回值的问题.doc ...

    ibatis 学习笔记

    ibatis 学习笔记 ibatis 学习笔记 ibatis 学习笔记 ibatis 学习笔记 ibatis 学习笔记 ibatis 学习笔记 ibatis 学习笔记 ibatis 学习笔记

    Ibatis的学习笔记

    Ibatis的学习笔记,说明Ibatis的使用

    ibatis学习笔记

    ibatis学习笔记 ibatis学习笔记 ibatis学习笔记 ibatis学习笔记 ibatis学习笔记 ibatis学习笔记 ibatis学习笔记

    IBatis学习笔记以及使用心得

    IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得

    ibatis学习笔记.txt

    ibatis学习笔记.txtibatis学习笔记.txtibatis学习笔记.txt

    ibatis教程学习笔记

    学习ibatis的基础资料~~~ 要好好的利用学习~~~学习别人的笔记是你进步的动力~~

    持久层框架ibatis学习笔记

    这篇iBatis 学习笔记是跟着传智播客的视频学习整理的,理解上难免有些错误,请以视频为 根本,有些地方笔记中没有整理到,因为这是我之后看着自己做的工程项目总结的,和视频 不完全一致。请谅解。

    ibatis-3-学习笔记.docx

    java 技术分享:ibatis_3_学习笔记

    iBATIS学习笔记

    iBATIS学习笔记 使用 iBATIS 开发近一年了,都是在 Google 中现学现用,是时候为自己总结看看这一年都收获了些什么。无奈的是英文水平实在是太差了,官方文档看起来太吃力,所以到图书馆借了这本《iBATIS 实战》这是 ...

    iBatis学习笔记

    iBatis学习笔记,有利于初步了解iBatis。

    Ibatis学习笔记,文档,资源6合1

    Ibatis学习笔记,文档,资源,6合1,有兴趣自学ibatis的童鞋的最佳选择。

    spring3学习笔记(2)-集成ibatis3进行单元测试

    NULL 博文链接:https://copperfield.iteye.com/blog/1170901

Global site tag (gtag.js) - Google Analytics