对比学习Hibernate,ibaties框架的学习思路:
1、与Hibernate的区别:Hibernate中的实体类与一个表相对应,而ibatis映射的是SQL查询结果集进行映射,就是说不是把一个表建立为一个实体类,而是把sql中的参数作为一个实体类。Hibernate会自动生成SQL语句,而ibatis需要我们自己编写SQL语句写好后,根据我们的映射调用相应语句执行。
2、主要操作的类与接口
3、ORM关系映射或者配置的XML
4、进行小测试
测试ibaties过程:
1、ibaties环境的搭建:创建一个java工程,导入ibaties相关的jar包,ibaties版本号.jar,以及数据库的驱动包
2、在src目录下创建一个.xml的映射文件,保存数据库中的一些信息,例如创建一个MySqlMapConfig.xml
<sqlMapConfig>
//如果你将数据库的一些配置信息放在sqlMapConfig.properties
//中,则需要写上properties表示加载配置信息,在下面引用即可
<properties resource="sqlMapConfig.properties"/>
//数据库中的优化一些配置信息,缓存、懒加载等
<settings
cacheModelsEnabled="true"
enhancementEnabled="true"
lazyLoadingEnabled="true"
errorTracingEnabled="true"
maxRequests="32"
maxSessions="10"
maxTransactions="5"
useStatementNamespaces="false"
/>
//用一个类型别名代替
<typeAlias alias="book" type="cn.com.ibatis.pojo.Book"/>
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="com.mysql.jdbc.Driver" />
//引用sqlMapConfig.properties中的值信息
<property name="JDBC.ConnectionURL" value="${url}" />
<property name="JDBC.Username" value="${username}" />
<property name="JDBC.Password" value="${password}" />
</dataSource>
</transactionManager>
//引用实体类的映射文件
<sqlMap resource="cn/com/ibatis/pojo/ebook.xml" />
</sqlMapConfig>
3、写上相对应的实体和实体的映射文件,只是这个映射文件不再是Hibernate中的实体类相对应的映射文件,而是实体中相对应的SQL语句中的参数的映射,只是SQL语句中的相对应的字段要和实体类中的属性相对应
实体类:
public class Book{
private int b_id;
private String b_name;
private float b_price;
生成相对应的set和get方法。
}
<!-- SlqMap映射文件 映射文件包括 SQL 语句和参数对象和结果对象的映射 -->
<sqlMap>
//一个查询的结果集对应一个类,将要关联的表的字段作为属性放在
//这个类中,当涉及多张表的字段的时候,将涉及的字段全写在一个
//类中,而不要每张表建立一个实体类,因为ibaties关联的是SQL的结果集
<select id="getBook" resultClass="cn.com.ibatis.pojo.Book,">
select
name as b_name(属性名),
id as b_id,
price as b_price
from book
where id = #b_id(属性名)#
</select>
<update id="updateBook" parameterClass="cn.com.ibatis.pojo.Book">
update book set name = #b_name# where id = #b_id#
</update>
<insert id="insertBook" parameterClass="cn.com.ibatis.pojo.Book">
insert into book values(#b_id#,#b_name#,#b_price#)
</insert>
<delete id="deleBook">
delete from book where id = #b_id#
</delete>
</sqlMap>
4、编写测试代码,其中有一个很关键的类:SqlMapClient,相当于Hibernate中的session,执行的各种增删查改的方法都封装到这个类中
public static void testSelect()throws Exception{
SqlMapClient client = null;// session
//读取MySqlMapConfig.xml中的配置信息
Reader reader = Resources.getResourceAsReader("MySqlMapConfig.xml");
client = SqlMapClientBuilder.buildSqlMapClient(reader);
//getBook是实体类映射文件中的查询语句中的id号
Object obj = client.queryForObject("getBook",6);
Book book = (Book)obj;
System.out.println(book.getB_name());
}
public static void main(String[] args)throws Exception{
// TODO Auto-generated method stub
testSelect();
}
分享到:
相关推荐
3. iBATIS框架:从官方网站下载最新版本,并将其添加到项目的类路径中。 4. Maven或Gradle:项目构建工具,帮助管理依赖。 **三、创建数据库表** 首先,我们需要在MySQL中创建一个简单的用户表,例如名为`users`,...
这个文档会详细解释Ibatis的配置、SQL映射文件的编写、动态SQL、事务管理以及如何与Spring框架集成等关键概念。Ibatis的核心在于它的SQL映射文件,这是一个XML文件,其中包含了数据库查询、更新等操作的SQL语句。...
iBatis是一个轻量级的Java持久层框架,它提供了SQL映射框架,将SQL语句与Java代码分离,使得数据库访问更为灵活和易于维护。本教程将带你一步步走进iBatis的世界,通过一个最简单的入门例子来了解其基本概念和使用...
标题 "ibatis 入门" 暗示我们要探讨的是关于使用和理解开源持久层框架 iBATIS 的基础知识。iBATIS 是一个优秀的 Java 应用框架,它将 SQL 查询与 Java 代码分离,提供了更灵活的数据访问方式。这篇博客(博文链接已...
#### 一、iBATIS框架介绍与学习目的 iBATIS是一个开源框架,用于简化Java应用程序与数据库之间的交互。它通过提供一种称为SQL Maps的方式,来帮助开发者更好地管理和执行SQL语句。本教程旨在为初学者提供一个快速...
一、Ibatis框架介绍 Ibatis的核心思想是将SQL与Java代码分离,提供XML或注解方式来定义SQL映射,这样可以提高代码的可读性和可维护性。它支持动态SQL,允许开发者根据业务逻辑自由编写SQL片段,避免了硬编码的痛苦。...
【标题】:“Ibatis 入门小例子” 【描述】:Ibatis 是一款优秀的轻量级 Java 持久层框架,它与 JDBC 相比,提供了更为灵活的 SQL 编写方式,使得数据库操作更加方便。这篇博客将通过一个简单的入门示例,帮助初学...
iBatis,现已被更名为MyBatis,是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。...通过这个简单的"iBatis入门Helloworld"项目,你可以快速掌握iBatis的基础操作,并为进一步学习和应用打下坚实基础。
总之,这套资料集合为iBatis的学习者提供了全面的学习路径,从基础到高级,从理论到实践,帮助读者逐步精通iBatis框架,实现高效的数据访问和管理。通过阅读这些文档,读者不仅可以掌握如何在项目中配置和使用iBatis...
总结来说,Ibatis 入门实例旨在帮助初学者快速理解并实践 Ibatis 框架的基本用法,包括配置文件的设置、SQL 映射文件的编写以及 Java 代码的调用。通过这个实例,开发者可以了解到如何在实际项目中集成 Ibatis,提高...
在本入门小例子中,我们将深入理解Ibatis的基本概念、配置以及如何通过实际的代码示例来运用它。 Ibatis的核心理念是SQL映射文件,它是一种XML格式的文件,用于定义SQL语句、参数映射和结果映射。在"ibatis-2.3.0....
【ibatis入门--对数据库的操作】这篇文章主要讲解了如何使用iBatis框架来操作数据库,iBatis是一个轻量级的持久层框架,它将SQL语句与Java代码分离,提高了开发效率和代码的可维护性。以下是文章涉及的关键知识点: ...
这个压缩包中的"ibatisJavaTest"项目应该是一个简单的Ibatis入门示例,可能包含了配置文件、映射文件、测试类等。通过分析和运行这个项目,你可以直观地了解Ibatis如何与数据库交互,以及如何编写和使用Mapper接口。...
在Java项目中,iBatis的核心是SqlMapConfig.xml配置文件,这是整个iBatis框架的入口。你需要在这个文件中配置数据源、事务管理器以及SQL映射文件的位置。例如: ```xml ``` 接下来...
这个“ibatis入门”主题将带你逐步走进iBATIS的世界,通过"iBATIS SQL Maps开发指南"和"iBATIS SQL Maps入门教程"两份资料,你可以全面了解并掌握这个框架的基本用法和核心概念。 首先,让我们从iBATIS的核心组件...
【标题】"ibatis入门案例程序"涉及到的核心知识点是MyBatis框架的使用,这是一个流行的Java持久层框架,用于简化数据库操作。MyBatis通过将SQL语句与Java代码分离,提高了开发效率,并提供了灵活的映射机制,使得...
在实际应用中,Ibatis可以与Spring框架集成,通过Spring的IoC容器管理SqlSessionFactory和SqlSession,进一步提升开发效率和代码的可测试性。此外,Ibatis还支持MyBatis Generator,这是一个自动生成Mapper、DAO和...
7. **测试类** - 用于验证Ibatis配置和操作是否正确。 学习Ibatis,你需要理解其核心概念,如SQL映射文件的结构、动态SQL的使用、参数映射和结果映射等。此外,熟悉Java的反射机制、注解和泛型也是必要的,因为它们...
7. **测试**:编写JUnit测试类,测试`UserService`中的方法,确保Ibatis能够正确地执行SQL语句,获取或修改数据库中的数据。 通过以上步骤,你已成功入门Ibatis。继续深入学习,你可以了解动态SQL、结果映射、缓存...
本资源包含“ibatis入门开发指南pdf”,这是一份详细的教程,旨在帮助初学者快速理解并掌握iBATIS框架的使用。这份指南会覆盖以下关键知识点: 1. **iBATIS简介**:介绍iBATIS的基本概念,包括它的起源、特点以及在...