和学习所有框架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的最简单的Helloworld工程,解压后可以直接在eclipse中使用。 需要你自己在SQL Server中创建表:UserVo,字段:id、name、sex、age。
3.iBatis2学习笔记:单表映射 .doc 4.iBatis2学习笔记:SqlMap的配置总结(18条).doc 5.iBatis2学习笔记:入参和返回值的问题.doc 6.iBatis2学习笔记:一对多映射(双向).doc 7.iBatis2学习笔记:多对多映射(双向)...
ibatis in action 整理,各种hello
ibatis第一个helloworld 数据库用的是mysql,数据的配置文件写在了properties文件里,工程直接部署到myeclipse中即可运行
ibatis-2.3.4.726.jar,ibatis-2.3.0.677.jar,ibatis-2.3.3.720.jar下载,都已放入一个压缩包下。
Ibatis3,手册,Ibatis3手册,Ibatis3使用手册,Ibatis3参考手册
iBATIS In Action:什么是iBATIS(一) 2007-08-19 20:39 by Anders Cui, 13917 阅读, 49 评论, 收藏, 编辑 在上一章中我们详细讨论了iBATIS的哲学观,以及这个框架的来历。我们也说过,iBATIS是一个混合式的解决...
一个程序员的自省 iBATIS In Action:什么是iBATIS代码
自己写的 ibatis.net 入门例子,控制台程序,解压后运行即可。
ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包ibatis-common包
2.5 iBATIS快速上手 iBATIS框架非常简单,它上手起来同样简单。有多简单呢?使用iBATIS只要五分钟我们就可以创建一个完整的应用程序了——当然这不是大型的ERP(Enterprise Resource Planning)解决方案,也不是大...
IbatisDemo 博文链接:https://xdjava.iteye.com/blog/1070408
ibatis3资料-介绍,新功能介绍及如何使用
是不是好东西你们去鉴定,SpringMVC + Spring + ibatis 可以配置多数据源,这个Demo 扩展性极强,就看你们自己如何发挥。
IBATIS3代码生成器 ibatis,Ibator,Abator
ibatis +mysql 实例 :是一个web项目 (简单的增删改查)
ibatis学习 ibatis总结 ibatis ibatis ibatis
Ibatis包 博文链接:https://dangzhao.iteye.com/blog/193521
ibatis jar src ibatis 2 3 0 677
iBATIS3用户引导手册:iBATIS3 user guide manual