谈到ibatis大家可能都会想到hibernate 我想是的!
首先.我们要知道ibatis跟hibernate所存在的区别,各自的优势。就比较好学习了,而不会混了去。
在javaeye我找到一篇很好的博文:【不是自己写的:ibatis:sql需要自己写
hibernate:sql自动生成
上面是最大的区别,下面是一些细节.有下载.
】
步骤:三拷三配
需拷开发包、pojo的映射文件 总的映射文件 强烈推荐看ibatis的帮助文档。有下载下面
pojo类的映射文件头子:
<?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">
总的映射文件头子:
<?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">
<!--下面是配置信息-->
<!-- ibatis 是sql语句映射 而 hibernate是对象映射 -->
<mapper namespace="com.pojos">
<select id="getAllDep" resultType="com.pojos.Dep">
select * from Dep
</select>
</mapper>
<!--下面是总配置文件的相关-->
<configuration>
<!-- 全局配置,请参考手册 -->
<settings>
<setting name="cacheEnabled" value="true"/>
</settings>
<!-- 类型取别名 -->
<typeAliases>
<typeAlias type="com.pojos.Dep" alias="Dep"/>
</typeAliases>
<!-- 环境设置,一种数据库对应一种环境development -->
<environments default="development">
<environment id="MySql">
<!-- 事务管理,一般用jdbc,或手工 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 连接数据库:可以连接池POOLED或UNPOOLED不使用连接池 -->
<dataSource type="POOLED">
<property name="username" value="root"/>
<property name="password" value="admin"/>
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost/test"/>
</dataSource>
</environment>
<environment id="Oracle">
<!-- 事务管理,一般用jdbc,或手工 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 连接数据库:可以连接池POOLED或UNPOOLED不使用连接池 -->
<dataSource type="UNPOOLED">
<property name="username" value="scott"/>
<property name="password" value="tiger"/>
<property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:ora92"/>
</dataSource>
</environment>
</environments>
<!-- 加载映射文件 -->
<mappers>
<mapper resource="com/pojos/Dep.xml"/>
</mappers>
</configuration>
<!--在测试类中的-->
//读取配置文件
Reader reader = Resources.getResourceAsReader("config.xml");
//创建session工程
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader,"MySql");
SqlSession session=factory.openSession();
List<Dep> list=session.selectList("com.pojos.getAllDep");
for (Dep dep : list) {
System.out.println(dep.getDepname());
}
//说明 List<Dep> list=session.selectList("com.pojos.getAllDep");
中的com.pojos.getAllDep :是配置的空间名称.sql语句的id
这只是一种做法,还一种就是建立一个接口dao .封装了映射文件里面的id.将id名称全部写成了接口。 引用只要在映射文件里面的空间名称改成该接口路径到类名
下篇接着笔记 .哈哈
分享到:
相关推荐
"maven聚合web工程--struts2+spring"这个标题表明我们正在讨论一个使用Maven构建的项目,该项目集成了Struts2和Spring这两个流行的Java Web框架。Struts2是一个用于构建 MVC(模型-视图-控制器)架构的框架,而...
Struts2是一个强大的Java Web应用程序框架,它源自WebWork2并结合了Struts1的优点,致力于简化企业级应用的开发、部署和维护。这个框架强调开发者可以专注于业务逻辑,而无需过多关注底层HTTP操作,提高了开发效率和...
以下是对该笔记中关键知识点的详细解读: ### JAVA基础 #### 第一章 Java入门 - **Java是什么?** - Java是一种面向对象的编程语言,由Sun Microsystems开发并在1995年发布。 - 它不仅是一种编程语言,也是一个...
AppFuse 是一个开源项目,旨在加速和简化J2EE应用程序的开发流程。由Matt Raible设计,它作为一...通过深入阅读和实践AppFuse的学习笔记,开发者可以逐步掌握其核心功能,并将其应用到实际项目中,提升开发质量和效率。
- MVC(Model-View-Controller)模式的概念及其在JSP中的应用。 - **Model1和Model2** - Model1架构和Model2架构的区别。 - **JSP重用模板** - 如何在JSP中使用include指令来重用模板代码。 #### 九、WebWork - **...
MyBatis作为一款优秀的持久层框架,在Java项目中的应用非常广泛。为了更好地利用MyBatis进行开发,我们通常会选择基于Maven来构建项目。 ##### 1. 创建Maven工程 在IDEA或者Eclipse等开发工具中,可以通过新建...
而且也比较轻量级,因为当时在项目中,没来的及做很很多笔记。后来项目结束了,我也没写总结文档。已经过去好久了。但最近突然又对这个ORM 工具感兴趣。因为接下来自己的项目中很有可能采用这个ORM工具。所以在此...