这段时间因为做一个应用的需要,重新捡起ibatis+spring做web开发。
用ibatis的原因是速度,hibernate的执行速度和执行过程中产生的海量的类文件加载卸载的垃圾太多了,需要设置很大的Permgen的大小,才能保证运行正常。
但是重新使用Ibatis的时候,发现Ibatis好多的方法都被@Deprecated的,看样子升级到mybatis势在必行。
升级过程主要包括几个方面
1,jar包升级。
需要引入mybatis的包,同时 引入mybatis和spring集成的包。还包括数据库的包,连接池的包,另外mybatis估计使用的是动态代理机制,所以需要引入cglib的包。
<!-- mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.5</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>3.1</version> </dependency> <!-- dbcp --> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> <!--Mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.13</version><!--$NO-MVN-MAN-VER$ --> </dependency>
2,修改spring的配置方式
spring配置主要是配置数据源、配置SqlSessionFactoryBean和配置SqlSessionTemplate。SqlSessionTemplate是mybatis和ibatis的区别项,ibatis使用SqlMapClientDaoSupport作为应用调用ibatis的接口,mybatis升级使用了SqlSessionTemplate,因此配置的时候需要更改这个