ibatis+Spring 整合

Ibatis与Spring3整合实践指南 本文还有配套的精品资源,点击获取 简介:整合Ibatis和Spring3框架以提升开发效率和系统可维护性,通过关键步骤实现两者的协同工作。首先介绍Ibatis作为轻量级SQL映射框架的优势,然后阐述Spring框架的企业级功能。接着,详细说明整合过程中的关键点,包括添加依赖、配置SqlSessionFactory、注册Mapper接口、管理事务、使用SqlSessionTe... 阅读详情

这两天一直在研究ibatis与spring的整合 一个小小的demo搞的我头晕目眩的,但程序一旦跑起来了,突然有一种豁然开朗,重见天日,感觉生活很美好的感觉!,也许,这就是那一行行的代码带给我们的不同享受吧。呵呵,废话就不多说了。

在此先引用几句别人的资料。。。

Spring通过DAO模式,提供了对iBATIS的良好支持。SqlMapClient对象是iBATIS中的主要对象,我们可以通过配置让spring来管理SqlMapClient对象的创建。

与hibernate类似,Spring提供了SqlMapClientDaoSupport对象,我们的DAO可以继承这个类,通过它所提供的SqlMapClientTemplate对象来操纵数据库。看起来这些概念都与hibernate类似。

通过SqlMapClientTemplate来操纵数据库的CRUD是没有问题的。此篇文章没有进行事务处理。

本文采用ibatis+spring+mysql 进行编写

数据库脚本如下

[sql]  view plain copy
  1. create database ibatis;  
  2.   
  3. create table person(  
  4.   id int primary key,  
  5.   name varchar(10),  
  6.   sex int  
  7. );  
  8.    


 

一:要有一个PO类

   Person.java

[java]  view plain copy
  1. package po;  
  2.   
  3. import java.io.Serializable;  
  4.   
  5. public class Person implements Serializable{  
  6.     /** 
  7.      *  
  8.      */  
  9.     private static final long serialVersionUID = -517413165963030507L;  
  10.     /** 
  11.      *  
  12.      */  
  13.     private int id;  
  14.     private String name;  
  15.     private int sex;  
  16.       
  17.     public Person(){  
  18.           
  19.     }  
  20.     public Person(int id,String name,int sex){  
  21.         this.id = id;  
  22.         this.name = name;  
  23.         this.sex = sex;  
  24.     }  
  25.     public int getId() {  
  26.         return id;  
  27.     }  
  28.     public void setId(int id) {  
  29.         this.id = id;  
  30.     }  
  31.     public String getName() {  
  32.         return name;  
  33.     }  
  34.     public void setName(String name) {  
  35.         this.name = name;  
  36.     }  
  37.     public int getSex() {  
  38.         return sex;  
  39.     }  
  40.     public void setSex(int sex) {  
  41.         this.sex = sex;  
  42.     }  
  43.       
  44. }  


二:DAO接口类

    IAction.java

[java]  view plain copy
  1. package dao;  
  2.   
  3. import java.util.List;  
  4.   
  5. import po.Person;  
  6.   
  7. public interface IAction {  
  8.     public boolean insertPerson(Person person);   //添加  
  9.     public boolean deleteById(int id);            //删除  
  10.     public boolean updatePerson(Person person);    //修改  
  11.     public Person queryById(int id);              //根据ID查询  
  12.     public List<Person> queryAllPerson();         //查询全部  
  13. }  

 

三:DAO实现类
   

   ActionImpl.java 此类继承SqlMapClientSupport 实现IAction接口

[java]  view plain copy
  1. package dao.impl;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.Reader;  
  5. import java.sql.SQLException;  
  6. import java.util.List;  
  7.   
  8. import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;  
  9.   
  10. import com.ibatis.common.resources.Resources;  
  11. import com.ibatis.sqlmap.client.SqlMapClient;  
  12. import com.ibatis.sqlmap.client.SqlMapClientBuilder;  
  13. import com.ibatis.sqlmap.client.SqlMapSession;  
  14.   
  15. import po.Person;  
  16. import dao.IAction;  
  17.   
  18. public class ActionImpl extends SqlMapClientDaoSupport implements IAction {  
  19.   
  20.     //添加操作  
  21.     @Override  
  22.     public boolean insertPerson(Person person) {  
  23.         // TODO Auto-generated method stub  
  24.         getSqlMapClientTemplate().insert("insertPerson",person);  
  25.         return false;  
  26.     }  
  27.       
  28.     //删除操作  
  29.     @Override  
  30.     public boolean deleteById(int id) {  
  31.         // TODO Auto-generated method stub  
  32.         getSqlMapClientTemplate().delete("deleteById", id);  
  33.         return false;  
  34.     }  
  35.   
  36.       
  37.   
  38.     //查询全部  
  39.     @Override  
  40.     public List<Person> queryAllPerson() {  
  41.         // TODO Auto-generated method stub  
  42.         List<Person> persons = getSqlMapClientTemplate().queryForList("queryAllPerson");  
  43.         return persons;  
  44.     }  
  45.   
  46.     @Override  
  47.     public Person queryById(int id) {  
  48.         // TODO Auto-generated method stub  
[java]  view plain copy
  1.                     //自己添加实现代码  
  2.     return null;  
  3. }  
  4.   
  5. @Override  
  6. public boolean updatePerson(Person person) {  
  7.     // TODO Auto-generated method stub  
[java]  view plain copy
  1.                     //自己添加实现代码  
  2.     return false;  
  3. }  

四:既然是ibatis spring整合 那就必须要有ibatis的配置文件

  SqlMapConfig.xml

 

[html]  view plain copy
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE sqlMapConfig  
  3. PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"  
  4. "http://www.ibatis.com/dtd/sql-map-config-2.dtd">   
  5. <sqlMapConfig>  
[html]  view plain copy
  1.           <!--此处一定不能有<settings/> 标签-->  
  2.     <!--  <settings   cacheModelsEnabled="true"  
  3.                  enhancementEnabled="true"  
  4.                  lazyLoadingEnabled="true"  
  5.                  errorTracingEnabled="true"   
  6.                  maxRequests="32"  
  7.                  maxSessions="10"  
  8.                  maxTransactions="5"  
  9.                  useStatementNamespaces="false" />  -->  
  10.           
  11.     <sqlMap resource="po/Person.xml" />  
  12.       
  13. </sqlMapConfig>  

SqlMapClient.xml里本应该有数据源的配置的 使用spring之后数据源的配置移植到了spring上

 

五:Person.xml

   里面配置了一下对数据的增删改查操作

[html]  view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE sqlMap  
  3. PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"  
  4. "http://www.ibatis.com/dtd/sql-map-2.dtd">   
  5. <sqlMap>  
  6.     <typeAlias alias="person" type="po.Person" />  
  7.       
  8.     <insert id="insertPerson" parameterClass="po.Person">  
  9.        <![CDATA[ 
  10.            insert into person values (#id#,#name#,#sex#) 
  11.        ]]>  
  12.     </insert>  
  13.       
  14.     <delete id="deleteById" parameterClass="int">  
  15.         <![CDATA[ 
  16.            delete from person where id=#id# 
  17.         ]]>  
  18.     </delete>  
  19.       
  20.     <update id="updatePerson" parameterClass="po.Person">  
  21.          <![CDATA[ 
  22.                update person set name=#name#,sex=#sex# where id=#id# 
  23.          ]]>  
  24.     </update>  
  25.       
  26.     <select id="queryById" parameterClass="int" resultClass="po.Person">  
  27.          <![CDATA[ 
  28.               select * from person where id=#id# 
  29.          ]]>  
  30.     </select>  
  31.       
  32.     <select id="queryAllPerson" cacheModel="personCache" resultClass="po.Person">  
  33.          <![CDATA[ 
  34.                select * from person 
  35.          ]]>  
  36.     </select>  
  37. </sqlMap>  



六:下面最重要的也就是配置applicationContext.xml了

   

[html]  view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"  
  4.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">  
  5.   
  6.     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">  
  7.         <property name="driverClassName" value="com.mysql.jdbc.Driver" />  
  8.         <property name="url" value="jdbc:mysql://localhost:3306/ibatis" />  
  9.         <property name="username" value="root" />  
  10.         <property name="password" value="1" />  
  11.     </bean>  
  12.   
  13.     <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">  
  14.         <property name="configLocation">  <!-- name 为configLocation或s  不可为其他 -->  
  15.             <value>SqlMapConfig.xml</value> <!-- 不区分大小写,路径前可加'/' -->  
  16.         </property>  
  17.           
  18.         <!-- dataSource不是必需 -->  
  19.         <property name="dataSource">  
  20.             <ref local="dataSource" />  
  21.         </property>  
  22.     </bean>  
  23.   
  24.     <bean id="personDAO" class="dao.impl.ActionImpl">  
  25.         <!-- dataSource不是必需 -->  
  26.         <property name="dataSource">  
  27.             <ref local="dataSource" />  
  28.         </property>  
  29.           
  30.         <!-- sqlMapClient必需 -->  
  31.         <property name="sqlMapClient">  
  32.             <ref local="sqlMapClient"/>  
  33.         </property>     
  34.     </bean>  
  35.   
  36.     <!-- transactionManager不是必需  -->  
  37.     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
  38.         <property name="dataSource">  
  39.             <ref local="dataSource" />  
  40.         </property>  
  41.     </bean>  
  42. </beans>  


注释里面的必需或不是必需都是本人多次试验的,至于为什么是必需不必需 其中的原理我也不是能太讲清楚,在此先是这些写罢了。

里面的每一个节点,属性,如果不太理解,可以上网查一些其他资料。

 

七:编写测试类

   此类利用junit进行测试。只测试了部分功能。

  

[html]  view plain copy
  1. package dao.impl;  
  2.   
  3. import java.util.Iterator;  
  4. import java.util.List;  
  5.   
  6. import org.junit.Test;  
  7. import org.springframework.context.ApplicationContext;  
  8. import org.springframework.context.support.ClassPathXmlApplicationContext;  
  9.   
  10. import po.Person;  
  11.   
  12.   
  13. public class ActionImplTest {  
  14.     private static ApplicationContext applicationContext = null;   //提供静态ApplicationContext  
  15.     static{  
  16.         applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); //实例化  
  17.     }  
  18.     //添加操作  
  19.     @Test  
  20.     public void testInsertPerson(){  
  21.         ActionImpl s = (ActionImpl)applicationContext.getBean("personDAO");  
  22.         s.insertPerson(new Person(1,"zhangsan",2));  
  23.     }  
  24.       
  25.     //删除操作  
  26.     @Test  
  27.     public void testDeletePerson(){  
  28.         ActionImpl s = (ActionImpl)applicationContext.getBean("personDAO");  
  29.         s.deleteById(1);  
  30.     }  
  31.       
  32.     //查询全部  
  33.     @Test  
  34.     public void testQueryAllPerson(){  
  35.         ActionImpl s = (ActionImpl)applicationContext.getBean("personDAO");  
  36.         List<Person> persons = s.queryAllPerson();  
  37.         //System.out.println(persons.size());  
  38.         Iterator<Person> ite = persons.iterator();  
  39.         while(ite.hasNext()){  
  40.             Person person = ite.next();  
  41.             System.out.print("ID: "+person.getId());  
  42.             System.out.print(" Name: "+person.getName());  
  43.             System.out.print(" Sex: "+person.getSex());  
  44.             System.out.println();  
  45.         }  
  46.     }  
  47. }  

八:如需记录日志 则要log4j.properties

   

[html]  view plain copy
  1. #log4j.rootLogger=DEBUG, stdout  
  2. #log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
  3. #log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
  4. #log4j.appender.stdout.layout.ConversionPattern=%c{1} - %m%n  
  5. #log4j.logger.java.sql.PreparedStatement=DEBUG  
  6. log4j.rootLogger=DEBUG, stdout, fileout      
  7. #log4j.logger.test=info     
  8. #log4j.logger.org.apache.jasper = DEBUG     
  9. #log4j.logger.org.apache.catalina.startup.TldConfig = DEBUG     
  10. #log4j.logger.org.apache.catalina.session.ManagerBase = DEBUG     
  11.     
  12. log4j.logger.com.fiscal = DEBUG     
  13. log4j.logger.com.system = DEBUG     
  14.     
  15. log4j.logger.com.ibatis = DEBUG     
  16. log4j.logger.com.ibatis.common.jdbc.SimpleDataSource = DEBUG     
  17. log4j.logger.com.ibatis.common.jdbc.ScriptRunner = DEBUG     
  18. log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = DEBUG     
  19. log4j.logger.java.sql.Connection = DEBUG     
  20. log4j.logger.java.sql.Statement = DEBUG     
  21. log4j.logger.java.sql.PreparedStatement = DEBUG, fileout      
  22. log4j.logger.java.sql.ResultSet = DEBUG     
  23.     
  24. log4j.appender.stdout=org.apache.log4j.ConsoleAppender       
  25.     
  26. log4j.appender.fileout=org.apache.log4j.RollingFileAppender      
  27. log4j.appender.fileout.File=C\:\\ibatis.log       
  28. log4j.appender.fileout.MaxFileSize=10000KB       
  29.     
  30. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout       
  31. log4j.appender.stdout.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH\:mm\:ss} \:%m%n       
  32. log4j.appender.fileout.layout=org.apache.log4j.PatternLayout       
  33. log4j.appender.fileout.layout.ConversionPattern=[%-5p]_%d{yyyy-MM-dd HH\:mm\:ss} \:%m%n      
  34.     
  35. #log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout       
  36.     
  37. # log4j.logger.org=info     


 

九:已经到最后了,我觉得这最后的才是最最重要的,就是一下jar包问题

   我调试了很长时间  一大部分时间是jar问题

   在此列出一下我认为能够跑起来这个小程序所需的一下jar包

   如没有,可网上下载。

  

[sql]  view plain copy
  1. ibaits-2.3.4.jar  
  2. spring.jar  
  3. mysql-connector-java-bin.jar  
  4. commons-dbcp-1.4.jar  
  5. commons-pool-1.5.6.jar  
  6. spring-orm-2.5.6.jar //已集成到spring.jar里  
  7. //记录日志所需  
  8.  log4j-1.2.15.jar  
  9. commons-logging.jar  




下面是本人的目录结构图

 


结束语:此文没有过多的讲些原理性的问题,比如为何这样写,又为何这样配置,只是给出了一个搭建框架的架子而已。

        因为我也是一个菜鸟,至于如何,我想,等我们有经验了,会慢慢都懂得。

        还希望大家共同努力,实现自己的梦想。

        希望能与各位共勉!



小白
在STM32F103RBT6微控制器上利用USB虚拟Com端口技术,高效实现ADC数据传输:详细操作步骤与示例代码解析 以上就是在STM32F103RBT6上使用USB虚拟Com端口实现ADC数据传输的全部内容。虽然过程中有很多步骤和细节需要注意,但只要按照步骤来,理解每一段代码的作用,就完全可以掌握这个过程。在实际应用中,我们可能需要根据实际需要修改一些代码,如调整ADC的参数,改变数据的处理方式等。但是,只要理解了这个过程,我们就可以很灵活地进行修改。希望这篇文章对你有所帮助。如果你有任何疑问,欢迎在评论区留言,我会尽我所能进行解答。 阅读详情

相关推荐

单细胞分析避坑指南:你的Harmony批次矫正真的做对了吗?

本文深入探讨了单细胞转录组分析中Harmony批次矫正的正确使用方法,解析了其工作原理及常见误区。通过详细参数调优指南和实战案例,帮助研究者避免过度矫正,确保生物学信号的有效保留。特别关注Harmony在单细胞数据分析中的关键参数设置和结果验证方法。

weixin_31099291的博客 297

Spring集成Ibatis详细介绍

Spring集成Ibatis     对于spring集成ibatis,主要用到spring提供的一个重要的类 “org.springframework.orm.ibatis.SqlMapClientFactoryBean”。这个类是两者集成的接口。本来在ibatis中要配置的数据源,事物管理现在都交给spring来做就可以了。     以下是两者集成的图示: 具体结构图如下:

曹立禄的个人博客 1978

欧姆龙485通讯示例程序_【精品实验】PLC学习神器与温湿度变送器的通讯

BFH点击蓝字关注我们↑↑↑↑  PLC学习神器提供RS485接口,可支持无协议RS指令、无协议RS2指令、Modbus通讯功能,可通过设置通讯格式改变通讯协议,RS485对应的通讯格式地址是D8400;  本案例以RS485接口与温湿度变送器通讯,通讯格式如下一温湿度变送器的说明书介绍1.1主要技术参数1.2 通讯协议 1、所有通讯回路都应遵照主/从方式。依照主从方式,数据可以在一个主...

weixin_39860201的博客 1万+

使用 Spring + iBATIS 框架详解

1: spring框架介绍   Spring框架是一个分层架构,由7个定义好的模块组成。Spring模块构建在核心容器上,核心容器定义了创建、配置和管理bean的方式。 每个模块的功能如下: 核心容器:核心容器提供Spring框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现,BeanFactory使用控制反转(IoC)模式将应用程序的配置和依赖性规范与实际的应用代码分...

meazza10的专栏 815

OpenVPN 新增 windows 客户端

虚拟私人网络(Virtual Private Network,简称VPN)是一种网络技术,它允许用户通过公共网络(如互联网)建立一个安全的连接通道。本文介绍如何添加 windows 客户端。

利昂的技术存档 3762

秋叶ComfyUI整合包使用FRP实现公网访问教程 ComfyUI内网穿透 秋叶整合包

最近在做 ComfyUI 的实验时,我发现很多小伙伴都遇到一个问题:本地启动的 ComfyUI 服务只能在本地访问,想要通过公网远程访问,就必须借助来实现。作为一名前端开发工程师,我花了点时间把 ComfyUI 启动器和 FRP 配置整合了一下,今天就分享给大家。本文适合已经了解。需要注意的是 穿透到公网的话任何人都能访问 为了安全建议看我另一篇帖子加上密码验证 防止恶意攻击。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1343

Ibatis学习三. Spring整合Ibatis

一.Spring整合iBatis原理 Apache iBatis是当前IT项目中使用很广泛的一个半自动ORM框架,区别于Hibernate之类的全自动框架,iBatis对数据库的操作拥有更加灵活的控制,对于那些经常需要调用本地数据库函数自定义SQL语句,或是喜欢自己优化SQL执行效率的开发者来说,iBatis是一个非常不错的选择。而得到广泛应用的开源企业架构SpringFramework,也很好...

zyjustin9的专栏 372

Python爬虫实战:京东/淘宝商品价格与评论监控系统——从User-Agent伪装到编码陷阱的全面攻克

在电商数据驱动决策的今天,无论是个人消费者想抓住历史低价,还是市场分析师需要追踪竞品动态,抑或是算法交易员依赖实时价格信号,自动化的商品价格与评论监控系统都已成为不可或缺的工具。然而,电商平台的反爬虫策略日益严苛,字符编码的“暗坑”更是让初学者屡屡碰壁。本文将以京东(JD.com和淘宝(Taobao.com两大主流平台为目标,手把手带你构建一个稳定、高效的商品监控爬虫。User-Agent伪装——如何模拟真实浏览器行为,突破初级反爬。GBK/UTF-8编码混战。

2201_76125261的博客 73

ibatis与spring整合

这两天一直在研究ibatis与spring的整合 一个小小的demo搞的我头晕目眩的,但程序一旦跑起来了,突然有一种豁然开朗,重见天日,感觉生活很美好的感觉!,也许,这就是那一行行的代码带给我们的不同享受吧。呵呵,废话就不多说了。 在此先引用几句别人的资料。。。 spring通过DAO模式,提供了对iBATIS的良好支持。SqlMapClient对象是iBATIS中的主要对象,我们可以通过配置让sp

不会飞的蜗牛 545

【Docker安装】OpenEuler系统下部署Docker环境

【Docker安装】OpenEuler系统下部署Docker环境

jks212454的博客 4188

深度学习实战42-基于大模型开发MathGPT的原理介绍,让数学问题智能解答变为可能

大家好,我是微学AI,今天给大家介绍一下深度学习实战42-基于大模型开发MathGPT的原理介绍,让数学问题智能解答变为可能。在去年ChatGPT的发布后,各种国内外的大语言模型层出不穷涌现,但是大家都知道现在的模型的诟病的数学能力不足,就算是简单的数学题都可能算错,今天我就来给大家引入MathGPT的模型,用来解决GPT解决数学问题,对于简单的初中数学高中数学都可以解决,让数学问题精准答题得到实现。

微学AI的博客 1649

spring 数据库访问之ibatis(一)

本文转载:http://sarin.iteye.com/blog/1333238 为了丰富博客专栏【Spring数据库访问系列】的内容,完善Spring数据库访问的体系,现在我们介绍Spring对iBatis的支持。     相对于Hibernate等ORM框架的全自动SQL,那么iBatis则属于半自动化的ORM框架,我们需要编写SQL语句,由iBatis进行数据库访问,返回结果。而iB

xiezhenxiang的专栏 1106

机器视觉框架源码——解读5(Dock和开源UI)

本文介绍了工业软件中Dock工具面板的使用方法,主要包括三个部分:添加avalonDock引用、修改属性配置(如显示样式和背景色),以及通过MVVM命令实现布局的加载和保存。加载布局通过XmlLayoutSerializer从XML文件恢复界面状态,保存布局则将当前DockManager的布局序列化为XML文件。文章提供了代码示例和截图说明,帮助开发者快速掌握Dock面板的核心功能。

Z's Palace 401

ibatis-Spring 整合

这两天一直在研究ibatis与spring的整合 一个小小的demo搞的我头晕目眩的,但程序一旦跑起来了,突然有一种豁然开朗,重见天日,感觉生活很美好的感觉!,也许,这就是那一行行的代码带给我们的不同享受吧。呵呵,废话就不多说了。 在此先引用几句别人的资料。。。 Spring通过DAO模式,提供了对iBATIS的良好支持。SqlMapClient对象是iBATIS中的主要对象,我们可以通过配置

itmyhome的专栏 1万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

spring ibatis整合

Spring通过DAO模式,提供了对iBATIS的良好支持。SqlMapClient对象是iBATIS中的主要对象,我们可以通过配置让spring来管理SqlMapClient对象的创建。 与hibernate类似,Spring提供了SqlMapClientDaoSupport对象,我们的DAO可以继承这个类,通过它所提供的SqlMapClientTemplate对象来操纵数据库。看...

134

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Spring 整合 ibatis

是的,真的是那个不好用的ibatis,不是好用的mybatis。 由于工作需要用到ibatis需要自己搭建环境,遇到了不少的坑,做一下记录。 一、环境配置 Maven JDK1.6 (非常重要,使用SimpleDataSource作为数据源会在JDK1.8 会触发 not suitable driver found 异常,具体原因另外博文进行解析) MySQL 5.6 ...

dnuvb68642的博客 1058

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

主题:ibatis3整合spring

 以前一直从事hibernate教学工作,有几个学生说他们现在有某些时刻要用到ibatis,所有我也研究了一下。 不过我是从ibatis3学起,感觉比ibatis2爽多子。     因为ibatis3现在还是测试版,spring也没有出相应的整合。所以,我根据spring整合hibernate的原理,也出来show一下,高手就不要笑我了。开工 主要是的文件有:    Ibatis3SessionF

1748

Spring整合Ibatis之SqlMapClientDaoSupport

Spring通过DAO模式,提供了对iBATIS的良好支持。SqlMapClient对象是iBATIS中的主要对象,我们可以通过配置让spring来管理SqlMapClient对象的创建,继而整合iBatis和Spring。 与hibernate类似,Spring 提供了SqlMapClientDaoSupport对象,我们的DAO可以继承这个类,通过它所提供的SqlMapClientTempl

张佳美的专栏 762

iBATIS与Spring整合

接着iBATIS的入门实例来说,ibatis与Spring的整合其实跟hibernate与Spring的整合大同小异,都是一个模子的,回想hibernate整合spring:主要是在spring中配置,需要数据源,需要hibernate配置文件,需要sessionFactory。iBATIS走的路线完全一致,直接看配置就明白 先是src/sqlmap.xml   Xml代码

走向架构师之路 863

ibatis3整合spring

转载自:http://www.javaeye.com/topic/528374    因为ibatis3现在还是测试版,spring也没有出相应的整合。所以,我根据spring整合hibernate的原理,也出来show一下,高手就不要笑我了。开工 主要是的文件有:    Ibatis3SessionFactory.java      这个是由spring读取ibatis配置文件,并产生ses

qqzhuyuehe的专栏 2634

spring整合iBATIS

spring整合ibatis事务管理   Spring通过DAO模式,提供了对iBATIS的良好支持。SqlMapClient对象是iBATIS中的主要对象,我们可以通过配置让spring来管理SqlMapClient对象的创建。   与hibernate类似,Spring 提供了SqlMapClientDaoSupport对象,我们的DAO可以继承这个类,通过它所提供

liuliangsailor的专栏 690

Spring对IBatis的整合

10.3 Spring对IBatis的支持 Spring对IBatis提供了完善的内建支持。使用Spring提供的IBatis辅助类,可以大大简化原有的IBatis访问代码。这些辅助类位于org.springframework.orm.ibatis包下,目前Spring可同时支持IBatis1.3.x和2.0。 此外,针对IBatis,Spring也提供了和JdbcTem...

148

mybatis、ibatis、spring各种整合方式

mybatis是ibatis的升级版,spring也有自带mybatis的orm。所以,搭建ibatis的框架也会有多种方式(我这里mybatis是3.0的,ibatis是2.3的,spring是3.0的,数据库是mysql)。下面介绍3中方式 1,只是用mybatis3。 2,使用mybatis3+spring3(使用mybatis的SqlSessionFactory )。 3,使用...

weixin_30687051的博客 138
上一篇: Spring注解详解
下一篇: Java Socket编程 标准范例(多线程)
andyLiuJava
博客等级 码龄14年 0粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值