`
Inmethetiger
  • 浏览: 111653 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在spring中使用mybatis

阅读更多

今天在使用mybatis的时候,发现dao的实现竟然可以不需要写一行代码,让我小小的震惊了一翻。

以下是截取mybatis官方文档中的一个小例子。比较好的说明了这个情况

 

需要的jar文件。 spring 3.0.5版本。 mybatis-3.0.5  mybatis-spring-1.0.1以及其依赖的包

 

 

package org.mybatis.jpetstore.domain;

import java.io.Serializable;

public class Category implements Serializable {

  private static final long serialVersionUID = 3992469837058393712L;

  private String categoryId;
  private String name;
  private String description;

  public String getCategoryId() {
    return categoryId;
  }

  public void setCategoryId(String categoryId) {
    this.categoryId = categoryId.trim();
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public String getDescription() {
    return description;
  }

  public void setDescription(String description) {
    this.description = description;
  }

  public String toString() {
    return getCategoryId();
  }

}

 

 

注意,必须实现序列化,不然报java.io.NotSerializableException异常

 

service层web层暂时省略直接持久层吧

 

package org.mybatis.jpetstore.persistence;

import java.util.List;

import org.mybatis.jpetstore.domain.Category;

public interface CategoryMapper {

  List<Category> getCategoryList();

  Category getCategory(String categoryId);

}

 

这就是持久层的全部代码。只有一个接口而已。实现已经不必要再写了。完全有mybatis配置文件搞定

 

CategoryMapper.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="org.mybatis.jpetstore.persistence.CategoryMapper">

  <cache />
  
  <select id="getCategory" parameterType="string" resultType="Category">
    SELECT
      CATID AS categoryId,
      NAME,
      DESCN AS description
    FROM CATEGORY
    WHERE CATID = #{categoryId}
  </select>

  <select id="getCategoryList" resultType="Category">
    SELECT
      CATID AS categoryId,
      NAME,
      DESCN AS description
    FROM CATEGORY
  </select>

</mapper>

 其中id=getCategory表示调用的是getCategory(),parameterType表示参数的类型。这个是String类型。resultType表示的是返回值类型。会由mybatis自动封装。id=getCategoryList调用的是getCategoryList()。返回值Category。会被自动包装成List<Category>。

     没有什么查询,封装之类的东西。这就是持久层的全部代码。表示以前没见过。

 

接下来是applicationContext.xml中配置了。

最主要是下面两个配置:

 

 <!-- define the SqlSessionFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="typeAliasesPackage" value="org.mybatis.jpetstore.domain" />
    </bean>
 

配置SqlSessionFactory。这是mybatis-spring-1.0.1提供的。而不是用spring里面的SqlMap....的包。

 

 

 <!-- scan for mappers and let them be autowired -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="org.mybatis.jpetstore.persistence" />
    </bean>
 

这也是mybatis-spring-1.0.1提供的,用来对映射进行自动装配。

具体如何装配,可以参考源码,我也没有看代码。只是拿过来用。所以也不是十分清楚。不过挺值得研究的。

代码太清晰了。

 

首发于http://inmethetiger.iteye.com/blog/1725836

 

2
1
分享到:
评论
6 楼 Inmethetiger 2012-11-20  
dj4307665 写道
开始配置混用了,后面改成楼主这种方式就可以了

你能用,我的荣幸。我也是看mybatis的官方实例才知道的
5 楼 dj4307665 2012-11-20  
开始配置混用了,后面改成楼主这种方式就可以了
4 楼 Inmethetiger 2012-11-16  
kjj10 写道
分享得挺好,表达很清楚
能完善一下事物处理部分的配置就更好了

嗯。继续努力
3 楼 Inmethetiger 2012-11-16  
hekuilove 写道
LZ的写作表达水平有待提高

所以才学着写点东西啊。不过都是别人的。自己肚子里货少啊!
2 楼 kjj10 2012-11-15  
分享得挺好,表达很清楚
能完善一下事物处理部分的配置就更好了
1 楼 hekuilove 2012-11-15  
LZ的写作表达水平有待提高

相关推荐

    spring3和mybatis3的初始探索

    在描述中提到了一个博客链接,这通常会包含作者对Spring3和MyBatis3集成使用的实践经验、问题解决过程以及可能的优化方法。由于具体博客内容未提供,我们可以通过一般性的知识来探讨这个主题。 首先,Spring3集成...

    spring+spring mvc+mybatis框架整合实现超市货物管理系统

    在本文中,我们将深入探讨如何使用JavaEE技术栈,特别是Spring、Spring MVC和MyBatis框架,来构建一个超市货物管理系统的实现。这个系统涵盖了基本的登录功能以及与MySQL数据库的交互,包括增删改查操作和分页显示。...

    mybatis在非spring环境下如何使用

    一般使用mybatis的环境,大多都是别人已经配置...我文章中的方法不基于spring,一般很少会在真实项目中直接使用。我把我的搭建过程记录下来给有用的人吧。 https://blog.csdn.net/lxyoucan/article/details/126162493

    Spring3.2与Mybatis3.2的整合的需要的所有的jar包

    5. **mybatis-spring-1.2.2.jar**:这是Spring和Mybatis的整合包,它实现了Spring的IoC(Inversion of Control,控制反转)和AOP与Mybatis的无缝对接,使得我们可以方便地在Spring中使用Mybatis。 在整合过程中,...

    Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)SSM源码.zip

    Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)SSM源码Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)SSM源码Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)SSM源码Java EE企业级应用...

    SSM(spring+spring MVC+mybatis)开发学生信息后台管理系统

    SSM(spring+spring MVC+mybatis)开发学生信息后台管理系统,实现学生增删改查功能设计一个简单的学生信息管理系统,要求使用SSM框架技术整合实现,用户登录后能够通过Web页面添加、删除、修改和查询学生信息 ...

    Spring MVC整合Mybatis

    在现代Java Web开发中,Spring MVC 和 Mybatis 是两个非常流行的框架。Spring MVC 提供了强大的MVC架构支持,而Mybatis则是一个轻量级的持久层框架,专注于SQL映射。将两者整合,可以构建出高效、灵活的Web应用。本...

    spring_mybatis 整合jar包

    在Java开发领域,Spring框架和MyBatis框架的整合是常见的数据访问技术组合...通过这样的整合,开发者可以在Spring的环境中方便地使用MyBatis进行数据库操作,同时享受到Spring提供的诸多便利,如事务管理、依赖注入等。

    Spring MVC + Mybatis+Spring实现的个人博客系统

    在本项目中,Spring作为容器管理了所有bean的生命周期,包括Spring MVC的控制器、Mybatis的SqlSessionFactory等,同时提供了事务管理功能。 **4. 数据库设计** 博客系统的数据库通常会包含用户表、博客文章表、评论...

    spring boot-mybatis demo

    在"spring boot-mybatis demo"项目中,我们将看到如何将 MyBatis 整合到 Spring Boot 应用中,实现数据访问和操作。以下是主要涉及的知识点: 1. **Spring Boot 配置**:首先,你需要在 `pom.xml` 文件中添加 ...

    spring mvc与mybatis的集成

    Spring MVC 和 MyBatis 是两个在 Java Web 开发中广泛使用的框架。Spring MVC 作为 Model-View-Controller 模式的实现,负责处理用户请求并展示数据,而 MyBatis 则是一个轻量级的持久层框架,专注于 SQL 执行和结果...

    互联网轻量级SSM框架解密:Spring、Spring MVC、MyBatis源码深度剖析

    SSM 是Spring、Spring MVC 和MyBatis 框架的组合,是目前Java 领域使用非常广泛也非常稳定的开源Web 框架。《互联网轻量级SSM框架解密:Spring、Spring MVC、MyBatis源码深度剖析》以SSM 的核心代码剖析为基础,突破...

    spring boot+mybatis 整合

    在IT行业中,Spring Boot和MyBatis是两个非常流行的开源框架,它们分别专注于简化Spring应用的初始设置和提供灵活的数据访问。本篇文章将深入探讨如何整合Spring Boot与MyBatis,以及如何使用MyBatis Generator自动...

    Spring4--Spring4整合mybatis3

    - 配置Spring:在Spring的配置文件中,配置SqlSessionFactoryBean、DataSource以及事务管理器,将Mybatis集成到Spring环境中。 - Mapper接口与XML映射文件:创建Mapper接口,对应数据库操作,同时编写对应的XML...

    Java EE企业级应用开发教程(Spring Spring MVC MyBatis)(黑马程序员编著)

    在这本教程中,读者将学习如何设置开发环境,创建Java EE项目,理解和使用Spring框架的核心特性,包括Bean管理、AOP、MVC等。同时,教程还会详细讲解如何集成Spring MVC进行Web开发,以及如何利用MyBatis处理数据库...

    Spring MVC与MYBatis企业应用实战.pdf

    《Spring MVC与MYBatis企业应用实战》是一本深度探讨如何在实际企业环境中集成和运用Spring MVC和MYBatis两大主流技术的书籍。Spring MVC作为Spring框架的重要组成部分,是Java Web开发中的强大控制器,而MYBatis则...

    SpringBatch+Spring+Mybatis+MySql (spring batch 使用jar)

    Spring Batch是一个轻量级的,完全面向...5、提供Spring框架中配置、自定义、和扩展服务。 6、所有存在的核心服务可以很容的被替换和扩展,不影响基础层。 7、提供一个简单的部署模式,利用Maven构建独立的Jar文件。

    spring4+mybatis3+spring mvc

    在IT行业中,Spring、MyBatis和Spring MVC是三个非常重要的框架,它们分别在不同的层面上服务于Java Web应用的开发。下面将详细讲解这三个框架及其整合应用。 **Spring框架** Spring是一个全面的企业级应用框架,它...

    spring+spring mvc+mybatis案例整合.docx

    在本案例中,我们将 Spring、Spring MVC 和 MyBatis 三个框架进行整合,实现一个基于 Java 的 Web 应用程序。该应用程序将使用 Spring 框架作为基础框架,Spring MVC 框架作为 Web 层框架,MyBatis 框架作为持久层...

Global site tag (gtag.js) - Google Analytics