ibatis课件设计

发布时间 : 星期日 文章ibatis课件设计更新完毕开始阅读

搭建ibaits环境

第一个例子

参考《第一个ibatis例子》 jar包说明

ibatis-2.3.4.726.jar :ibatis必须要到的包。

log4j-1.2.14.jar :ibatis使用log4j来记录日志的。一个日志包 mysql.jar :操作mysql的jar包。

ibatis是如何工作的(重点)?

以一个查询为例子:

1. 根据id找到sqlmap.xml文件中的sql语句。 2. 将sql语句转变成预处理sql语句 select name, password from user where id=? 3. 将入参映射入sql语句的参数(如果有入参) 4. 执行sql语句

5. 将sql执行的结果映射到指定类型(原生类型,map,bean,list)中。然后返回结果。

SQL入参parameterClass(重点):

可以是类(javabean),hashmap,或者原生类型(string,int,long,double)当只有一个原生类型入参时,使用#value#来引用,使用map和类通过名字对应设置值。 返回值参数类型resultClass,resultMap(重点): 1. 当结果集列名和类属性名完全对应的时候,则应该使用resultClass来指定查询结果类

型。当然有些列名不对应,可以在sql中使用as重命名达到一致的效果。当只有一个字段的时候,还可以直接使用原生类型(string,int,long)。 2. 当查询结果列名和类属性名对应不上的时候,应该选择resultMap指定查询结果集类型。

否则,则查询出来填充的对象属性为空(数字的为0,对象的为null)。

接口和类的使用

com.ibatis.sqlmap.client.SqlMapClient

此接口是专门用来执行sqlmap.xml文件的sql语句的。它的主要方法有: 此接口提供的方法有: 基本操作:

? Object insert(String id) :执行指定配置ID的增加sql语句 ? Object insert(String id, Object parameterObject) ? int delete(String id) :执行指定配置ID的删除sql语句,此sql是没有任何入参的,

返回删除的记录数

? int delete(String id, Object parameterObject) :执行指定配置ID的删除sql语句,

此sql是可以带入参的,返回删除的记录数 ? int update(String id)

? int update(String id, Object parameterObject)

? Object queryForObject(String id) : 当只有一条记录的时候才可以使用。 ? Object queryForObject(String id, Object parameterObject)

? List queryForList(java.lang.String id) : 执行指定配置id的查询语句 ? List queryForList(String id, Object parameterObject) : 批量处理:

? int executeBatch() :执行批量sql语句。 ? void startBatch() 事务处理:

? void commitTransaction() : 提交事务并释放连接 ? void endTransaction() : 回滚事务并释放连接 ? void startTransaction() :开始事务

返回值参数类型映射例子说明:

作业:

1. 测试上面的所有方法。

2. 测试入参情况:没有入参,单个int,String,map对象,bean对象。 3. 测试出参情况:单个int,String,map对象,bean对象,list对象。

ibatis配置文件详解

常用数据库类型和java类型匹配

Ibatis 映射类型 int long double varvhar datetime time date sqlmap.xml的详细解析 1.

声明javabean的实体。 属性有:alias,type。

Java 类型 long,int long double Double String util.Date 或者 sql.Date sql.time 2.

专门用来声明insert类型的sql语句的。 属性有:id,parameterClass 3.

专门用来声明delete类型的sql语句的。 属性有:id,parameterClass 4.

专门用来声明update类型的sql语句的。 属性有:id,parameterClass 5.

select id,user_name,password

sqlMapConfig.xml的详细解析

此文件其实就是一个数据源的配置。数据源参数包括了连接数据库参数和连接池参数。 例子:

在这里配置jdbc.propertis,在配置datasource的时候,用${}获得jdbc.properties里的属性的值,这个配置是可选的 例子:

联系合同范文客服:xxxxx#qq.com(#替换为@)