在Spring使用iBatis及配置讲解
作者:李灿辉 发布时间:2021-07-06 20:07:39
就像集成JDBC和其他ORM框架一样,Spring也集成了iBatis。
1,配置iBatis客户模板
iBatis的核心是com.ibatis.sqlmap.SqlMapClient
接口。SqlMapClient大致相当于Hibernate的Session或JPA的EntityManager,用于执行全部的数据访问操作。
Spring解决iBatis会话管理和异常处理问题的方案是SQLMapClientTemplate。SQLMapClientTemplate包裹了一个SqlMapClient来透明的打开和关闭会话,还捕获抛出的SQLException。
要想在程序里使用SqlMapClientTemplate
,需要在xml
中配置一个bean
。还需要给SqlMapClientTemplate的sqlMapClient属性指定要注入的bean。sqlMapClient属性必须为一个iBatis的SqlMapClient。在Spring里,获得SqlMapClient的最佳方式是通过SqlMapClientFactoryBean。
在配置SqlMapClientFactoryBean
时,需要配置它的dataSource属性,用于指定访问哪个数据库。另一个重要的属性是configLocation,它的值是一个xml文件。
接下来,我们需要定义iBatis的SQL映射表,也就是编写configLocation指定的xml文件的内容。
在这个xml文件中,它的根节点是sqlMapConfig
,里面可以包含多个sqlMap节点,每个sqlMap节点的resource属性,也是一个xml文件,在resource指定的xml文件中,我们一般会定义如何将数据库中的一个表映射为一个java对象,并在该文件中定义一些常用的SQL语句。
接下来,简单介绍下如何在DAO里使用SqlMapClientTemplate。在使用SqlMapClientTemplate执行数据访问之前,必须要把它装配到DAO里。这一点比较简单,只需要在定义DAO时,为其指定sqlMapClientTemplate引用即可。
2,建立基于iBatis的DAO
SqlMapClientDaoSupport类是这对iBatis的DAO支持类,它是作为一个父类让DAO实现来继承的。SqlMapClientDaoSupport暴露了一个SqlMapClientTemplate对象,用于执行iBatis查询。
来源:https://blog.csdn.net/li_canhui/article/details/85396299


猜你喜欢
- 【开发环境】物理机版本:Win7旗舰版(64位)Android Studio版本:2.1正式版【Android Studio的优势】•基于G
- 前言腾讯动漫app v8.1.6 工具:jadx、frida、pixel3 安卓10提示:以下是本篇文章正文内容,案例可供参考一、问题1.1
- 前言最近在做项目的时候,有个需求就是实现自动轮播式的ViewPager,最直观的例子就是知乎日报顶部的ViewPager,它内部有着好几个子
- 本文实例讲述了C#实现异步GET的方法。分享给大家供大家参考。具体实现方法如下:using System;using System.Coll
- 1、添加一个App.config配置文件。2、配置服务http://Lenovo-PC:80/EvisaWS/WharfService?ws
- 逆转交替合并两个链表,即从一个链表的尾指针指向另一个链表的尾指针,依次逆转交替进行合并。下面就通过实例来详细的介绍该逆转交替合并两个链表的思
- 最近学习JavaFx,发现网上大概只有官方文档可以查阅,学习资料较少,写个拼图游戏供记录。。大概说一下思路:1.面板的构建:面板采用Grid
- 本文实例讲述了C#实现的海盗分金算法。分享给大家供大家参考,具体如下:海盗分金的故事5个海盗抢到了100颗宝石,每一颗都一样的大小和价值连城
- AttributeUsage预定义特性AttributeUsage描述了如何使用一个自定义特性类。它规定了特性可应用到的项目的类型。规定该特
- springboot 中各种配置项纪录1. @Value最早获取配置文件中的配置的时候,使用的就是这个注解,SpEL表达式语言。// 使用起
- autoMapping和autoMappingBehavior的区别autoMappingBehaviormybatis核心配置文件中set
- 项目结构项目路径可以自己定义,只要路径映射正确就可以pom.xml <properties> <spring.versio
- Android通过wifi连接手机的方法,供大家参考,具体内容如下1.首先电脑,手机连接同一个网络2.在Android studio中Ter
- 1.获取Return返回值//存储过程//Create PROCEDURE MYSQL//
- 使用的是 idea - Lifecycle-package 的方式打包(maven)确认 <packaging>wa
- 目录前言简要1.Launcher向AMS发送启动Activity2.AMS启动Activity并通知Launcher进入Paused状态3.
- 本文首先将会回顾Spring 5之前的SpringMVC异常处理机制,然后主要讲解Spring Boot 2 Webflux的全局异常处理机
- 前言大家在学习Java的过程中,或者工作中,始终都绕不开集合。在单线程环境下,ArrayList就可以满足要求。多线程时,我们可以使用Cop
- 下面给大家介绍C#使用ICSharpCode.SharpZipLib.dll进行文件的压缩与解压功能,具体代码如下所示:using Syst
- map此内容是方便博主自己记忆内容,不用于公开学习资料,若发现语法错误,自行更正,勿喷map转JSON字符串package com.hanf