`
chenyahui
  • 浏览: 369 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

MyBatis,Spring整合教程

 
阅读更多
在实际的项目开发中,我们需要将MyBatis和Spring进行整合,通过Spring 的依赖注入以减少代码的耦合。本文以MyEclipse和MySQL数据库为开发环境简单的讲解一下MyBatis和Spring的整合过程。

首先我们创建一个Java Project,名称任意,然后导入所需要包:spring3.1.1, mybatis-3.1.1.jar, mysql-connector-java-5.1.2-beta-bin.jar ,mybatis-spring-1.1.1.jar

第一步:创建数据库表
在Navicat下执行如下sql命令创建表User.

Sql代码  收藏代码
CREATE TABLE user 

  id int(11) NOT NULL AUTO_INCREMENT, 
  username varchar(20) NOT NULL, 
  password varchar(20) NOT NULL, 
  PRIMARY KEY (id) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

然后插入测试数据
Sql代码  收藏代码
INSERT INTO user VALUES ('1', 'admin', 'admin'); 


第二步:创建model
创建一个model包并在其下创建一个User.java文件。
Java代码  收藏代码
package model; 
 
public class User { 
    private int id; 
    private String username; 
    private String password; 
    public User(){ 
         
    } 
    public int getId() { 
        return id; 
    } 
    public void setId(int id) { 
        this.id = id; 
    } 
    public String getUsername() { 
        return username; 
    } 
    public void setUsername(String username) { 
        this.username = username; 
    } 
    public String getPassword() { 
        return password; 
    } 
    public void setPassword(String password) { 
        this.password = password; 
    } 
    public String toString(){ 
         return "User [id = "+ id +" , username = "+ username +"]" + " , password = "+ password; 
    } 



第三步:创建DAO接口(这里我们对增删改查进行简单的实现)
创建一个包dao,并在其下创建一个UserMapper.java文件作为DAO接口。
Java代码  收藏代码
package dao; 
 
import model.User; 
 
public interface UserMapper { 
    public User selectUser(User user); 
    public void insertUser(User user); 
    public void updateUser(User user); 
    public void deleteUser(int userId); 



第四步:实现DAO接口
在dao包下创建一个UserMapper.xml文件作为上一步创建的DAO接口的实现。
Xml代码  收藏代码
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
<mapper namespace="dao.UserMapper"> 
<select id="selectUser" parameterType="model.User" resultType="model.User"> 
    SELECT * FROM user WHERE username=#{username} AND password=#{password} 
</select> 
<insert id="insertUser" parameterType="model.User" flushCache="true"> 
   INSERT INTO user (id,username,password) VALUES (#{id},#{username},#{password}) 
</insert> 
<update id="updateUser" parameterType="model.User"> 
    UPDATE user SET password=#{password} WHERE id=#{id} 
</update> 
<delete id="deleteUser" parameterType="int"> 
    DELETE FROM user WHERE id=#{userId} 
</delete> 
</mapper> 

这里对这个xml文件作几点说明:
1. namespace要指定为接口的类路径。
2. select,insert,update,delete的id必须要和UserMapper.java接口中的方法同名。

第五步:创建MyBatis的配置文件
在src下创建一个mybatis-config.xml文件,由于我们的数据源部分是要交给Spring管理,所以此处的配置文件只包含xml映射文件的位置信息。
Xml代码  收藏代码
<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE configuration PUBLIC 
    "-//mybatis.org//DTD Config 3.0//EN" 
    "http://mybatis.org/dtd/mybatis-3-config.dtd"> 
<configuration> 
    <mappers> 
        <mapper resource="dao/UserMapper.xml"/> 
    </mappers> 
</configuration> 


第六步:在Spring中配置数据源
在src下创建一个ApplicationContext.xml文件作为Spring的配置文件,这里我们使用Spring自带的Jdbc数据源,读者可以根据实际需要替换为其他数据源。
Xml代码  收藏代码
<?xml version="1.0" encoding="UTF-8"?> 
<beans 
    xmlns="http://www.springframework.org/schema/beans" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xmlns:p="http://www.springframework.org/schema/p" 
    xmlns:aop="http://www.springframework.org/schema/aop"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans  
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
    http://www.springframework.org/schema/tx  
    http://www.springframework.org/schema/tx/spring-tx-3.0.xsd  
    http://www.springframework.org/schema/aop   
    http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"> 
<!—配置数据源--> 
    <bean id="jdbcDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    <property name="driverClassName"> 
        <value>org.gjt.mm.mysql.Driver</value> 
    </property> 
    <property name="url"> 
        <value>jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF-8</value> 
    </property> 
    <property name="username"> 
        <value>root</value> 
    </property> 
    <property name="password"> 
        <value>123456</value> 
    </property> 
</bean> 
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> 
    <property name="dataSource" ref="jdbcDataSource" /> 
    <property name="configLocation" value="classpath:mybatis-config.xml"></property> 
</bean> 
<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean"> 
    <property name="mapperInterface" value="dao.UserMapper"></property> 
    <property name="sqlSessionFactory" ref="sqlSessionFactory"></property> 
</bean> 
</beans> 

关于Spring配置的说明:
Spring没有内置的提供对MyBatis的支持,配置sqlSessionFactory和userMapper所需要的class是来自于mybatis-spring-1.1.1.jar。

第七步:测试
在src下创建一个test包,并在其下创建一个test.java文件
Java代码  收藏代码
package test; 
 
import model.User; 
 
import org.springframework.context.ApplicationContext; 
import org.springframework.context.support.ClassPathXmlApplicationContext; 
 
import dao.UserMapper; 
 
public class test { 
    public static void main(String[] args) { 
        ApplicationContext ctx=null; 
        ctx=new ClassPathXmlApplicationContext("applicationContext.xml"); 
        UserMapper userMapper=(UserMapper)ctx.getBean("userMapper"); 
        User u=new User(); 
        u.setUsername("admin"); 
        u.setPassword("admin"); 
        System.out.println(userMapper.selectUser(u)); 
        //插入(去掉下面的注释进行调试) 
        /*
        User insertUser=new User();
        insertUser.setUsername("testUsername");
        insertUser.setPassword("testPassword");
        userMapper.insertUser(insertUser);
        */ 
        //更新(去掉下面的注释进行调试) 
        /*
        u.setId(1);
        u.setPassword("updatePassword");
        userMapper.updateUser(u);
        */ 
        //删除(去掉下面的注释进行调试) 
        /*
        userMapper.deleteUser(9);
        */ 
    } 


//转至 www.haoby.cn
分享到:
评论

相关推荐

    mybatis-spring 整合jar包

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

    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 整合jar包

    3. MyBatis-Spring整合库:mybatis-spring。 4. 数据库驱动:如mysql-connector-java(对于MySQL)、ojdbc(对于Oracle)等。 5. 其他依赖库:如log4j或slf4j用于日志记录,asm、cglib等用于AOP代理。 整合过程大致...

    mybatis与spring整合的全部jar包

    以上就是关于“mybatis与spring整合的全部jar包”的详细知识点,这些组件共同构建了一个灵活且易于维护的Java Web应用程序。通过理解这些概念和技术,开发者可以更好地理解和使用SSM框架来开发复杂的企业级应用。

    mybatis与spring整合全部jar包

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

    SpringMybatisSpringMvc整合包

    这个整合包中的jar包包括了Spring框架的core、context、aop、beans、web等模块,Mybatis的核心库和Spring Mybatis的整合模块,以及Spring MVC的相关组件。这些jar包涵盖了运行Spring、Mybatis和Spring MVC应用所需的...

    mybatis spring 整合的包

    在这个整合包中,两个jar文件`mybatis-3.0.2.jar`和`mybatis-spring-1.0.0-RC1.jar`分别包含了MyBatis框架和MyBatis-Spring整合库的核心功能。在实际项目中,只需将这些库引入到类路径,然后按照上述方式配置,就...

    mybatis-spring 整合包

    MyBatis-Spring 整合包是专门为将MyBatis持久层框架与Spring应用框架集成而设计的一个组件。这个包的出现旨在简化MyBatis在Spring环境中的配置和使用,使得开发者可以充分利用两者的优点,实现更加灵活和方便的数据...

    spring整合Mybatis

    本文将深入探讨如何进行"Spring整合Mybatis"的基础搭建,以及涉及到的相关技术点。 首先,Spring框架是一个开源的应用程序框架,它简化了Java EE应用的开发,提供了依赖注入(DI)和面向切面编程(AOP)等功能。在...

    MyBatis整合Spring中间件jar包 mybatis-spring-1.3.0.jar

    MyBatis-Spring是MyBatis与Spring框架的整合组件,其主要目的是简化在Spring应用中集成MyBatis的过程,使两者能够无缝协作。mybatis-spring-1.3.0.jar是这个中间件的特定版本,包含了实现这种集成所需的所有类和资源...

    Spring-SpringMVC-Mybatis整合所有jar包

    在Java Web开发中,Spring、SpringMVC和Mybatis是三个非常重要的框架,它们的整合可以构建出高效、灵活的企业级应用。这个压缩包“Spring-SpringMVC-Mybatis整合所有jar包”包含了这三个框架整合所需的全部依赖,...

    mybatis与spring整合全部jar包,

    mybatis与spring整合全部jar包,mybatis与spring整合全部jar包,mybatis与spring整合全部jar包,mybatis与spring整合全部jar包,mybatis与spring整合全部jar包,

    Spring+SpringMVC+Mybatis框架整合例子(SSM) 下载

    Spring、SpringMVC和Mybatis是Java开发中最常用的三大开源框架,它们的整合使用,通常被称为SSM框架。这个框架组合提供了完整的后端服务解决方案,包括依赖注入(DI)、面向切面编程(AOP)、模型-视图-控制器(MVC...

    mybatis和spring整合jar包

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

    spring+mybatis 整合中文教程+例子

    在"Spring+MyBatis 整合中文教程+例子"中,我们可以深入学习如何将这两个强大的框架结合在一起,构建出高效、灵活的企业级应用程序。整合过程涉及以下几个关键知识点: 1. **环境搭建**:首先,你需要安装JDK,配置...

    mybatis-spring整合项目

    《mybatis-spring整合项目》是GitHub上官方提供的一个示例,它展示了如何将MyBatis和Spring框架完美地结合起来,实现数据访问层的高效管理。这个项目为开发者提供了一个清晰的模板,帮助他们理解并掌握这两个强大...

    mybatis-spring整合简单的实例代码

    【标题】"mybatis-spring整合简单实例代码"所涉及的知识点主要集中在如何将MyBatis与Spring框架进行集成,以便在Spring应用中利用MyBatis进行数据访问。这一过程通常包括以下几个关键步骤: 1. **环境配置**:首先...

    mybatis-spring整合jar包

    总的来说,MyBatis-Spring整合简化了在Spring应用中使用MyBatis的过程,提高了开发效率,并且提供了良好的事务管理和依赖注入功能。通过正确配置和使用,可以构建出稳定、高效的Java Web应用程序。

    mybatis整合spring的所需jar包

    将 MyBatis 整合到 Spring 中,可以充分利用 Spring 的强大功能,同时保留 MyBatis 的灵活性,实现数据访问的高效和便捷。 在标题和描述中提到的 "mybatis3.3+mybatis-spring1.2+log4j1.2" 是进行整合所需的关键...

    Mybatis+Spring整合项目

    《Mybatis+Spring整合在人事管理系统中的应用》 在Java开发领域,Mybatis与Spring的整合是常见的技术栈选择,特别是在构建复杂的企业级应用时。本项目“Mybatis+Spring整合项目”是一个全面的人事管理系统,它涵盖...

Global site tag (gtag.js) - Google Analytics