经过我十次以上的实验,abator(新版本叫做ibator)还是1.0.0版本好用,自动生成vo,dao,impl,xml文件,而且能够自动生成Example类,并且该类自动继承vo里面的对应类.
用1.1.0发现Example不能自动继承vo里面的类,
1.2.1版本变化太大,有些生成的东西并不方便
废话少说,先建库,采用mysql
create database abator_test;
CREATE TABLE `person` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`sex` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
)
下面建立一个java project,名字就叫做abator吧,然后在项目上点右键,new-->other-->Abator for IBATIS Configuration File,文件就放在/abator/src下面,文件名不变
下面是配置文件内容<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE abatorConfiguration PUBLIC "-//Apache Software Foundation//DTD Abator for iBATIS Configuration 1.0//EN"
"http://ibatis.apache.org/dtd/abator-config_1_0.dtd">
<abatorConfiguration generatorSet="Java5">
<abatorContext> <!-- TODO: Add Database Connection Information -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/abator_test"
userId="root"
password="root">
<classPathEntry location="D:/mysql-connector-java-5.0.8-bin.jar" />
</jdbcConnection>
<javaModelGenerator targetPackage="vo" targetProject="abator" />
<sqlMapGenerator targetPackage="vo" targetProject="abator" />
<daoGenerator type="IBATIS" targetPackage="dao" targetProject="abator" />
<table schema="" tableName="person"/>
</abatorContext>
</abatorConfiguration>
然后在配置文件上面点击右键,选择"Generate IBATIS Artifacts",接着abator就会根据数据库自动生成对应的vo.dao等文件了
然后继续写test/ibatis_config.xml文件,配置ibatis的信息<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings cacheModelsEnabled="true" enhancementEnabled="true" lazyLoadingEnabled="true" maxRequests="256" maxSessions="100" maxTransactions="100" useStatementNamespaces="true"/>
<!-- 配置数据源 -->
<transactionManager type="JDBC" commitRequired="false">
<dataSource type="SIMPLE">
<!-- 驱动 -->
<property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
<!-- 连接 -->
<property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/abator_test"/>
<!-- 登录名 -->
<property name="JDBC.Username" value="root"/>
<!-- 密码 -->
<property name="JDBC.Password" value="root"/>
<property name="Pool.MaximumActiveConnections" value="10" />
<property name="Pool.MaximumIdleConnections" value="5" />
<property name="Pool.MaximumCheckoutTime" value="120000" />
<property name="Pool.TimeToWait" value="500" />
<property name="Pool.PingQuery" value="select 1 from sample" />
<property name="Pool.PingEnabled" value="false" />
<property name="Pool.PingConnectionsOlderThan" value="1" />
<property name="Pool.PingConnectionsNotUsedFor" value="1" />
</dataSource>
</transactionManager>
<!-- 固定表映射 -->
<sqlMap resource="vo/person_SqlMap.xml"/>
</sqlMapConfig>
再加一个test/dao.xml文件,用于配置ibatis dao框架的dao
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE daoConfig PUBLIC "-//ibatis.apache.org//DTD DAO Configuration 2.0//EN" "http://ibatis.apache.org/dtd/dao-2.dtd">
<daoConfig>
<context>
<transactionManager type="SQLMAP">
<property name="SqlMapConfigResource" value="test/ibatis_config.xml" />
</transactionManager>
<dao interface="dao.PersonDAO" implementation="dao.PersonDAOImpl" />
</context>
</daoConfig>
截下来是一个读取配置文件的类,然后返回DaoManager,文件路径为test/DAOConfig.java
package test;
import java.io.Reader;
import java.util.Properties;
import com.ibatis.common.resources.Resources;
import com.ibatis.dao.client.DaoManager;
import com.ibatis.dao.client.DaoManagerBuilder;
public class DAOConfig {
private static final String resource="test/dao.xml";
private static final DaoManager daoManager;
static{
daoManager = newDaoManager(null);
}
public static DaoManager getDaoManager(){
return daoManager;
}
public static DaoManager newDaoManager(Properties props){
try {
Reader reader = Resources.getResourceAsReader(resource);
return DaoManagerBuilder.buildDaoManager(reader,props);
} catch (Exception e) {
// TODO Auto-generated catch block
new RuntimeException("Could not initialize DaoConfig. Cause: " + e, e);
}
return null;
}
}
最后来一个测试类test/Test.java
package test;
import vo.Person;
import com.ibatis.dao.client.DaoManager;
import dao.PersonDAO;
public class Test {
public static void main(String[] args) {
DaoManager daoManager = DAOConfig.getDaoManager();
PersonDAO personDao = (PersonDAO) daoManager.getDao(PersonDAO.class);
Person p = personDao.selectByPrimaryKey(1);
System.out.println(p.getName());
}
}
OK了,这样就用ibatis dao做了一个最简单的例子,数据库以及各种文件都在附件里面,所需的四个包全在里面
分享到:
相关推荐
非常适合初学入门的例子 Abator+ibatis
Ibatis数据库操作,JGP上传到数据库
iBatis DAO
ibatis dao 包ibatis dao 包ibatis dao 包ibatis dao 包ibatis dao 包ibatis dao 包ibatis dao 包ibatis dao 包ibatis dao 包ibatis dao 包
IBATISDAO库类操作IBATISDAO库类操作IBATISDAO库类操作IBATISDAO库类操作
Struts+Spring+Ibatis整合框架搭建配置文档
iBATIS DAO框架分析 对源码进行了一定的解析,使理解更加简单!
生成Ibatis Dao的工具类,可以手动配置路径 去生成DAO ENTITY sqlMap
资源名称:iBATIS框架源码剖析内容简介:iBATIS是一种比较流行的ORM框架,本书全面介绍其结构体系和分析其源程序代码,该框架的核心包括两个组件,一个是iBATIS DAO,另一个是iBATIS SQL Map。本书分为三个部分,第...
iBatis技术框架介绍。ibatis2.x教程。
ibaits dao的源码分析,在源码的基础上添加注释说明
Abator自动生成ibatis代码!
该资源为PDF格式文件,内容为IBATIS框架的详细搭建步骤,配置文件的编辑,相关JAVA类的编写,以及MAP中各个元素的使用
abator离线安装包,new Loacl Site 即可安装成功! 注意:此版本为除去注释版本。
ibatis框架实例ibatis框架实例ibatis框架实例ibatis框架实例ibatis框架实例
学习iBATIS DAO必备的jar包,可以与SqlMaps结合起来用。
iBATIS-DAO-2.pdf
J2EE学习 Ibatis开发资料共享 Ibatis开发资料 Ibatis学习框架 Ibatis开发概要