当前位置:网站首页 > Java教程 > 正文

java ibatis教程



1.ibatis基础理论知识

半自动化java持久层框架,开源免费,核心还是JDBC,只是将其封装,减少了重复代码的书写(据某个闲的够呛的外国人统计,减少了62%的代码),在编码上更符合面向对象原理。

         -----------

                |——什么是持久层: ----先说持久:持久就是把数据保存到可掉电式存储设备中以备后续使用。(从内存保存到磁盘,加以固化) --通过关系型数据库来完成。

         |______什么是半自动化: 因为ibatis还要程序员自己编写访问数据库的sql语句。 ------{提高了可控性,但是当数据库设计改变时,ibatis配置文件中的sql也要随之更改。}

2.ibatis的特点

1) 简单,配置文件只有两个jar包:     一个是ibatis本身的jar包,一个是连接数据库的jar包

2)关注点分离: 使用ibatis,使用与对象打交道,不会有零散的结果集

3)可移植: 可移植,可以在java,ruby,#c平台上使用

缺点:

1)只能在关系型数据库上使用

2)sql需要程序员编写。如果数据库设计改变,需要改ibatis的配置文件,有点麻烦。

3.实例讲解ibatis

首先配置ibatis的jar包(两个,我使用的是ibatis-2.3.4.726.jar和mysql-connector-java-5.0.4-bin.jar)

工程文件如图:

java文件 :

User: POJO,是持久层对象,也是ibatis直接操作的对象

配置文件包括

ibatis总配置文件sqlMapConfig.xml

sqlMap.properties 中定义了数据库的连接:

资源文件即key 和value的键值对

总配置文件: 注意--我在总配置文件中直接加入了JDBC数据源,并没有用到工程中的sqlMap.properties。

解释:

关于ibatis的事务管理器和数据源 :http://blog.csdn.net/not_a_baby/article/details/

如果引用sqlMap.properties,即以下:

User的映射文件:【对user的增删改查我只实现了增和改作为示例】

以下就是经常能看到的sqlMap.xml的实例~这部分的代码编写占据ibatis开发的70%左右。

ibatis支持数据库逐渐的自动生成,包括与预生成主键(插入数据之前就知道哪个是主键 eg:oracle)和 后生成主键(插入数据之后知道谁是主键, eg:mysql)

生成的主键会设置到同名属性中   -----keyProperty属性指定主键属性

selectKey的位置表示 是预生成主键 还是 后生成主键

3)sql的输入参数parameterClass

插入语句入参: parameterClass = ‘包.类’

查询语句入参:可以设为类名,map,或者string,int ,long 等。 只有一个原声类型(string,int,long)作为入参是,可以使用#value#来引用。

   例如:

我的例子中,没有id。以上是用法示例

4)返回值参数类型

resultClass = 'com.tt.User'   -当结果集列名和类属性名完全对应的时候,使用resultClass

resultMap = 'xxx';                    ---当有些列不对应的时候。 resultMap 是一个POJO的映射,需要先定义xml的映射,才能被使用。

                    例如:

5)sql中参数的引用

引用parameterClass有三种方式 :

1. 原生类型 -- int , string , long ---使用#value#         #value#不是关键字,可变

2. map类型参数,使用#keyName#来引用,keyName为健名

3.对象参数, 使用#propertyName# 使用对象的属性的名字。    比如上面的name =#name# 等。

6)模糊查询中参数的引用

了解 和$$ 的区别。

#xxxx#是把 xxxx作为一个参数传入

在模糊查询是,要----》 ‘%$Name$%’

8)结果集映射继承

继承是为了映射定义的复用。

例如:

9)ibatis的分页查询   ---【待完善】

10)sql注入    ---【待完善】

11)ibatis可以配置缓存

12)ibatis各种id的命名

DAO层中接口名字SQL语句id的名字保持一致,

User.java    --注意属性名要与User.xml文件中的属性相对应、

UserDAO 接口:

UserDAOImpl 实现类:

AppMain.java   测试

本文摘自:http://blog.csdn.net/not_a_baby/article/details/,如有侵权,请联系本人删除。

  • 上一篇: java教程105
  • 下一篇: java 游戏开发教程 .pdf
  • 版权声明


    相关文章:

  • java教程1052024-11-21 18:58:06
  • java分支视频教程2024-11-21 18:58:06
  • java爱心代码教程2024-11-21 18:58:06
  • java新手入门教程2024-11-21 18:58:06
  • editplus java教程2024-11-21 18:58:06
  • java 游戏开发教程 .pdf2024-11-21 18:58:06
  • java的启动教程视频2024-11-21 18:58:06
  • java jni 教程.so2024-11-21 18:58:06
  • mvc框架教程java2024-11-21 18:58:06
  • 441集java教程2024-11-21 18:58:06