`
snoopy7713
  • 浏览: 1149205 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

Mybatis使用篇之四:整合Spring

阅读更多

Mybaits为什么要整合Spring?

说白了其实就想使用Spring提供的服务,比如Spring的事务管理、Spring的IOC对Bean进行管理等。 

 

Mybatis怎么整合Spring?

 由于目前Spring官方还没有出整合Mybatis的特性,所以这里在Spring框架和MyBatis框架上再添加用于整合的框架“mybatis-spring-1.0.2.jar” (该框架时MyBatis官方自己出的)。

 

(1)新建一个Web工程,名称为MybatisSpring。

 

(2)将Spring3.0.3、Mybatis3.0.6、Mybatis-Spring1.0.2、log4j、Oracle驱动和DBCP连接池的JAR包放到Web工程的lib下面,具体的JAR包如下:

Java代码  收藏代码
  1. classes12.jar  
  2. log4j-1.2 . 16 .jar  
  3. mybatis-3.0 . 6 .jar  
  4. mybatis-spring-1.0 . 2 .jar  
  5. org.springframework.aop-3.0 . 3 .RELEASE.jar  
  6. org.springframework.asm-3.0 . 3 .RELEASE.jar  
  7. org.springframework.aspects-3.0 . 3 .RELEASE.jar  
  8. org.springframework.beans-3.0 . 3 .RELEASE.jar  
  9. org.springframework.context-3.0 . 3 .RELEASE.jar  
  10. org.springframework.context.support-3.0 . 3 .RELEASE.jar  
  11. org.springframework.core-3.0 . 3 .RELEASE.jar  
  12. org.springframework.expression-3.0 . 3 .RELEASE.jar  
  13. org.springframework.jdbc-3.0 . 3 .RELEASE.jar  
  14. org.springframework.transaction-3.0 . 3 .RELEASE.jar  
  15. org.springframework.web-3.0 . 3 .RELEASE.jar  
  16. commons-logging-1.1 . 1 .jar  
  17. commons-dbcp-1.2 .jar  
  18. commons-pool-1.4 .jar  

 

(3)在src下面新建log4j.properties文件,该文件的内容如下:

Java代码  收藏代码
  1. log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
  2. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
  3. log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] -%m%n  
  4. log4j.logger.com.ibatis=debug  
  5. log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug  
  6. log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug  
  7. log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug  
  8. log4j.logger.java.sql.Connection=debug  
  9. log4j.logger.java.sql.Statement=debug  
  10. log4j.logger.java.sql.PreparedStatement=debug,stdout  

 

 

(4)在Oracle数据库执行以下SQL,创建一个USER_INFO的表:

 

Java代码  收藏代码
  1. -- Create table  
  2. create table USER_INFO  
  3. (  
  4.   ID          NUMBER(12 ) not  null ,  
  5.   NAME        VARCHAR2(50 )  
  6. );  
  7.   
  8. --Insert data  
  9. insert into USER_INFO(ID,NAME) values(1 , '张三' );  

 

(5)新建一个Java类UserInfo.java,该类的内容如下:

 

Java代码  收藏代码
  1. package  com.user;  
  2.   
  3. public   class  UserInfo {  
  4.     private   int  id;  
  5.     private  String name;  
  6.   
  7.     public  UserInfo() {  
  8.     }  
  9.   
  10.     public  UserInfo(String name) {  
  11.         this ( 0 , name);  
  12.     }  
  13.   
  14.     public  UserInfo( int  id, String name) {  
  15.         this .id = id;  
  16.         this .name = name;  
  17.     }  
  18.   
  19.     public   int  getId() {  
  20.         return  id;  
  21.     }  
  22.   
  23.     public   void  setId( int  id) {  
  24.         this .id = id;  
  25.     }  
  26.   
  27.     public  String getName() {  
  28.         return  name;  
  29.     }  
  30.   
  31.     public   void  setName(String name) {  
  32.         this .name = name;  
  33.     }  
  34.   
  35.     @Override   
  36.     public  String toString() {  
  37.         return   "ID: "  + id +  ", Name: "  + name;  
  38.     }  
  39. }  

 

(6)在com.user.sqlmap下面新建UserInfo.xml文件,该文件的内容如下:

 

Java代码  收藏代码
  1. <?xml version= "1.0"  encoding= "UTF-8"  ?>  
  2.   
  3. <!DOCTYPE mapper PUBLIC   
  4.     "-//mybatis.org//DTD Mapper 3.0//EN"   
  5.     "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >  
  6.   
  7. <mapper namespace="User" >  
  8.     <select id="selectUser"  parameterType= "int"  resultType= "UserInfo" >  
  9.     <![CDATA[  
  10.         select * from user_info where id = #{id}  
  11.     ]]>  
  12.     </select>  
  13. </mapper>  

 

(7)在src下面新建mybatis.cfg.xml文件,该文件的内容如下:

Java代码  收藏代码
  1. <?xml version= "1.0"  encoding= "UTF-8"  ?>  
  2.   
  3. <!DOCTYPE configuration PUBLIC   
  4.     "-//mybatis.org//DTD Config 3.0//EN"   
  5.     "http://mybatis.org/dtd/mybatis-3-config.dtd" >  
  6.   
  7. <configuration>  
  8.     <typeAliases>  
  9.         <typeAlias alias="UserInfo"  type= "com.user.UserInfo"  />  
  10.     </typeAliases>  
  11.       
  12.     <mappers>  
  13.         <mapper resource="com/user/sqlmap/UserInfo.xml"  />  
  14.     </mappers>  
  15. </configuration>  

 

 

(8)新建一个Java类UserService.java,该类的内容如下:

 

Java代码  收藏代码
  1. package  com.user;  
  2.   
  3. import  org.mybatis.spring.SqlSessionTemplate;  
  4.   
  5. public   class  UserService {  
  6.     private  SqlSessionTemplate  sqlSession;  
  7.       
  8.     public  SqlSessionTemplate getSqlSession() {  
  9.         return  sqlSession;  
  10.     }  
  11.   
  12.     public   void  setSqlSession(SqlSessionTemplate sqlSession) {  
  13.         this .sqlSession = sqlSession;  
  14.     }  
  15.       
  16.     public  UserInfo selectUser(){  
  17.           UserInfo user = null ;  
  18.           try  {  
  19.                           user = (UserInfo) sqlSession.selectOne("User.selectUser" "1" );  
  20.                     } catch  (Exception e) {  
  21.                           e.printStackTrace();  
  22.                     }  
  23.           
  24.                    return  user;  
  25.              }  
  26. }  

 

(9)在src下面新建applicationContext.xml文件,该文件的内容如下:

Java代码  收藏代码
  1. <?xml version= "1.0"  encoding= "UTF-8" ?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"   
  3.     default -autowire= "byName"   
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd" >  
  6.   
  7.     <bean id="dataSource"   class = "org.apache.commons.dbcp.BasicDataSource" >  
  8.         <property name="driverClassName"  value= "oracle.jdbc.OracleDriver"  />  
  9.         <property name="url"  value= "jdbc:oracle:thin:@localhost:1521:SID"  />  
  10.         <property name="username"  value= "xxxx"  />  
  11.         <property name="password"  value= "xxxx"  />  
  12.         <property name="maxActive"  value= "100" ></property>  
  13.         <property name="maxIdle"  value= "30" ></property>  
  14.         <property name="maxWait"  value= "500" ></property>  
  15.         <property name="defaultAutoCommit"  value= "true" ></property>  
  16.     </bean>  
  17.       
  18.     <bean id="sqlSessionFactory"   class = "org.mybatis.spring.SqlSessionFactoryBean" >  
  19.         <property name="configLocation"  value= "classpath:mybatis.cfg.xml" ></property>  
  20.         <property name="dataSource"  ref= "dataSource"  />  
  21.     </bean>  
  22.       
  23.     <bean id="sqlSessionTemplate"   class = "org.mybatis.spring.SqlSessionTemplate" >  
  24.         <constructor-arg index="0"  ref= "sqlSessionFactory"  />  
  25.     </bean>  
  26.       
  27.     <bean id="userService"   class = "com.user.UserService" >  
  28.        <property name="sqlSession"  ref= "sqlSessionTemplate"  />  
  29.     </bean>  
  30.   
  31. </beans>  

 

 

(10)新建一个测试Java类UserInfoTest.java,该类的具体内容如下:

Java代码  收藏代码
  1. package  com.user;  
  2.   
  3. import  java.io.IOException;  
  4.   
  5. import  org.springframework.context.ApplicationContext;  
  6. import  org.springframework.context.support.ClassPathXmlApplicationContext;  
  7.   
  8.   
  9.   
  10. public   class  UserInfoTest {  
  11.   
  12.     /**  
  13.      * @param args  
  14.      * @throws IOException   
  15.      */   
  16.     public   static   void  main(String[] args)  throws  IOException {  
  17.         ApplicationContext context = new  ClassPathXmlApplicationContext( "applicationContext.xml" );  
  18.                             UserService userService = (UserService)context.getBean("userService" );  
  19.                             UserInfo userInfo = userService.selectUser();  
  20.                             System.out.println(userInfo);  
  21.   
  22.     }  
  23.   
  24. }  

 

 

(11)右键UserInfoTest 类,选择Run As Application,运行MyBaits操作数据库。

 

Java代码  收藏代码
  1. log4j:WARN No appenders could be found  for  logger (org.springframework.context.support.ClassPathXmlApplicationContext).  
  2. log4j:WARN Please initialize the log4j system properly.  
  3. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.   
  4. 2012 - 02 - 11   21 : 13 : 42 , 156  DEBUG [java.sql.PreparedStatement] -==>  Executing: select * from user_info where id = ?   
  5. 2012 - 02 - 11   21 : 13 : 42 , 156  DEBUG [java.sql.PreparedStatement] -==> Parameters:  1 (String)  
  6. ID: 1 , Name: 张三 
分享到:
评论

相关推荐

    spring_mybatis 整合jar包

    描述中提到"基本常用jar包的整合",意味着这个压缩包包含了一些基础且常用的库,这些库是进行Spring和MyBatis整合所必需的。例如,Spring的`spring-context`、`spring-beans`、`spring-jdbc`和`spring-tx`,以及...

    mybatis与spring整合的全部jar包

    SSM(Spring、SpringMVC、MyBatis)框架整合是Java开发中常见的技术栈,主要用于构建企业级的Web应用程序。在这个压缩包中,我们找到了整合MyBatis和Spring所需的全部jar包,这对于初学者或者开发者搭建项目环境非常...

    MyBatis和Spring整合jar:mybatis-3.2.7.jar等

    MyBatis和Spring的整合是Java开发中常见的一种技术组合,它们可以无缝集成,使得数据库操作更为便捷。这里提到的两个jar包——mybatis-3.2.7.jar和mybatis-spring-1.2.2.jar,是实现这种整合的关键组件。 1. **...

    项目名称:商品信息显示系统 使用技术:Springmvc+spring+mybatis+Layui 实现功能: 1、完成ssm+layui的搭建整合 2、完成商

    项目名称:商品信息显示系统 使用技术:Springmvc+spring+mybatis+Layui 实现功能: 1、完成ssm+layui的搭建整合 2、完成商品的分页展示 特点:将后台mysql数据显示在layui页面上

    spring整合Mybatis

    整合Spring和Mybatis的关键在于Spring的DataSource、TransactionManager和SqlSessionFactoryBean的配置。在Spring的配置文件中,我们需要定义数据源(DataSource),这是连接数据库的桥梁。接着,创建...

    mybatis与spring整合全部jar包

    这个“mybatis与spring整合全部jar包”包含了这三个框架整合所需的所有依赖库,使得开发者可以快速搭建SSM项目。 首先,让我们深入了解一下这三个组件: 1. **Spring**:Spring 是一个全面的Java企业级应用开发...

    mybatis3+spring+springMVC4整合jar包.rar

    5. **整合MyBatis和Spring**:使用Spring的`@Autowired`注解注入Mapper接口,使MyBatis的SQL执行可以通过Spring的依赖注入来调用。 6. **创建Controller**:使用Spring MVC的`@Controller`注解创建控制器类,处理...

    Spring-SpringMVC-Mybatis整合所有jar包

    这个压缩包“Spring-SpringMVC-Mybatis整合所有jar包”包含了这三个框架整合所需的全部依赖,使得开发者能够快速搭建起一个功能完备的后端服务。 1. **Spring框架**:Spring是一个全面的开源应用框架,它提供了对...

    Mybatis与Spring整合所需的jar包

    mybatis与spring整合时所依赖的jar包,包括: 1.Mybatis所需的jar包括: ant-1.9.6.jar ant-launcher-1.9.6.jar asm-5.2.jar cglib-3.2.5.jar commons-logging-1.2.jar javassist-3.22.0-CR2.jar log4j-...

    Spring-Mybatis整合

    现在我们来详细讨论一下Spring-Mybatis整合的相关知识点。 1. **Spring 概述**: Spring 是一个全面的企业级应用框架,它提供了一个容器来管理对象的生命周期和依赖关系。Spring 的核心特性包括依赖注入(DI)和...

    MyBatis所需jar包 mybatis-3.4.5 整合spring可用

    在本文中,我们将深入探讨如何整合MyBatis 3.4.5版本与Spring框架,以便在实际项目中实现高效的数据访问。 首先,我们需要理解MyBatis的核心概念。MyBatis的主要组成部分包括:XML配置文件、Mapper接口和Mapper XML...

    SpringMybatisSpringMvc整合包

    在使用这个整合包时,开发者首先需要配置Spring的上下文文件,声明Bean并管理依赖。然后,配置Mybatis的SqlSessionFactory,定义Mapper接口和XML映射文件,实现数据的CRUD操作。接着,利用Spring MVC的...

    Mybatis与Spring整合创建Web项目

    3. **简化配置**:使用Spring的XML配置或者Java配置,可以将Mybatis的配置整合进去,减少重复的XML配置。 四、整合步骤 1. **添加依赖**:在项目pom.xml中添加Mybatis和Spring的相关依赖库。 2. **配置Mybatis**:...

    mybatis学习手册和整合mybatis+spring

    2. **MyBatis-Spring整合**:配置MyBatis与Spring的集成,包括SqlSessionFactoryBean、MapperScannerConfigurer、SqlSessionTemplate和SqlSessionDaoSupport的使用。 3. **Spring管理MyBatis的事务**:如何通过...

    mybatis和spring整合jar包

    标题中的"mybatis和spring整合jar包"表明我们要讨论的是如何将两个流行的Java框架——MyBatis和Spring——集成在一起,以便在同一个项目中利用它们各自的优势。MyBatis是一个轻量级的持久层框架,它允许开发者用SQL...

    mybatis-spring 整合jar包

    mybatis-spring 整合jar包,Spring和MyBatis环境整合mybatis-spring-1.1.1

    mybatis整合spring 实例

    这个实例中的"mybatis整合spring实例(完整版)"文件可能包含了上述所有步骤的源代码,包括Spring的配置文件、MyBatis的配置文件、Mapper接口、XML文件以及相关的Java类。通过仔细阅读和理解这些代码,开发者可以...

    struts2_mybatis_spring_框架实例整合_数据库 文档

    1. 配置Spring:创建Spring的配置文件,定义Struts2的Action Bean以及MyBatis的SqlSessionFactory和Mapper接口的Bean,设置数据源和事务管理器。 2. 配置Struts2:在struts.xml中定义Action类,指定结果视图,同时...

    Spring与MyBatis整合源码

    3. **Spring与MyBatis整合**:整合Spring和MyBatis主要涉及以下几个步骤: - **配置数据源**:在Spring的配置文件中,我们需要定义数据源(DataSource),这是连接数据库的关键。 - **配置SqlSessionFactory**:...

Global site tag (gtag.js) - Google Analytics