mybatis实战教程(mybatis in action)之五:与spring3集成(附源码)

摘要: 在这一系列文章中,前面讲到纯粹用mybatis 连接数据库,然后 进行增删改查,以及多表联合查询的的例子,但实际项目中,通常会用 spring 这个沾合剂来管理 datasource 等。充分利用spring 基于接口的编程,以及aop ,ioc 带来的方便。用spring 来管理 mybatis 与管理hibernate 有很多类似的地方。今天的重点就是数据源管理以及 bean的配置。你可以下载源码后,对比着看,源代码没有带jar包,太大了,空间有限. 有截图,你可以看到用到哪些jar包,源码在本文最后.

在这一系列文章中,前面讲到纯粹用mybatis 连接数据库,然后 进行增删改查,以及多表联合查询的的例子,但实际项目中,通常会用 spring 这个沾合剂来管理 datasource 等。充分利用spring 基于接口的编程,以及aop ,ioc 带来的方便。用spring 来管理 mybatis 与管理hibernate 有很多类似的地方。今天的重点就是数据源管理以及 bean的配置。

你可以下载源码后,对比着看,源代码没有带jar包,太大了,空间有限. 有截图,你可以看到用到哪些jar包,源码在本文最后.

1. 首先对前面的工程结构做一点改变,在src_user源代码目录下建立文件夹config ,并将原来的 mybatis 配置文件 Configuration.xml 移动到这个文件夹中, 并在config 文家夹中建立 spring 配置文件:applicationContext.xml ,这个配置文件里最主要的配置:

  
 
   
      
      
      
      
   
 
   
      
      
      
      
   
 
   
      
      
      
      
   


[b]这里面的重点就是 org.mybatis.spring.SqlSessionFactoryBean 与 org.mybatis.spring.mapper.MapperFactoryBean[b] 实现了 spring 的接口,并产生对象。详细可以查看 mybatis-spring 代码。(http://code.google.com/p/mybatis/),如果仅仅使用,固定模式,这样配置就好。

然后写测试程序
package com.yihaomen.test;

import java.util.List;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.yihaomen.mybatis.inter.IUserOperation;
import com.yihaomen.mybatis.model.Article;
import com.yihaomen.mybatis.model.User;


public class MybatisSprintTest {
    
	private static ApplicationContext ctx;  
    
    static 
    {  
        ctx = new ClassPathXmlApplicationContext("config/applicationContext.xml");  
    }        
      
    public static void main(String[] args)  
    {  
    	IUserOperation mapper = (IUserOperation)ctx.getBean("userMapper"); 
    	//测试id=1的用户查询,根据数据库中的情况,可以改成你自己的.
    	System.out.println("得到用户id=1的用户信息");
        User user = mapper.selectUserByID(1);
        System.out.println(user.getUserAddress()); 
        
        //得到文章列表测试
        System.out.println("得到用户id为1的所有文章列表");
        List
articles = mapper.getUserArticles(1); for(Article article:articles){ System.out.println(article.getContent()+"--"+article.getTitle()); } } }


运行即可得到相应的结果.
工程图:

用到的jar包,如下图:


源代码下载,不带 jar 包,
点击下载此文件

有很多人要jar 包,这里去下载吧:http://www.yihaomen.com/article/java/318.htm

上一篇: python 命令行参数实例
下一篇: Linux 下查找替换的一个小例子

Avatar

猎人 评论于: 2017-01-16

这里web.xml文件不需要配置东西吗?为什么我运行程序一直报错:No bean named 'userMapper' is defined

Avatar

xsd 评论于: 2016-04-12

gd

Avatar

ZHOU 评论于: 2015-11-30

[quote=paul]被架包折腾的要死,后来下载了卤煮后面一讲的项目中的架包就好了。[/quote]
哈哈 试一下用Maven管理jar包

Avatar

wyd 评论于: 2015-05-22

建立文件夹config,时候,我选择SourceForder,后来手工移到了src_user目录下,总是提示xml有错,怎么改都不对,后来发现.classpath中有

去掉之后就可以了

Avatar

sdq 评论于: 2015-05-18

其实就spring3.1,mybatis,mybatis-spring,dbcp,和poo,mysqll几个包。

Avatar

zacks223 评论于: 2015-04-18

按楼主的教程从一走到这里 
ctx = new ClassPathXmlApplicationContext("config/applicationContext.xml"); 
这个始终找不到配置文件导致bean工厂无法创建起来

Avatar

paul 评论于: 2015-03-03

被架包折腾的要死,后来下载了卤煮后面一讲的项目中的架包就好了。

Avatar

轻乌飞扬 评论于: 2015-02-26

这么多包,都要一个个下载吗,能告诉我怎么下载吗?
[reply=yihaomen,2015-02-26 06:01 PM]这里去下:http://www.yihaomen.com/article/java/318.htm[/reply]

Avatar

唉是你我 评论于: 2015-02-26

这么多包,要一个一个的下载吗?

Avatar

娟子 评论于: 2014-04-08

我这儿吃了大亏,在此分享下
1.不能有之前的mybatis-3.0.2jar,
2.不能使用mybatis-spring-1.0.X版本,一定要用mybatis-spring-1.1.X版本
[reply=轻舞肥羊,2014-04-08 08:16 PM]是的,一定要注意版本,可以在官方网站下载配套的。[/reply]

Avatar

xin 评论于: 2013-01-30

发现时jar包和你上述所说不同,就报错了,如此说来,jar包配置是个不容易解决的问题。楼主觉得呢?

Avatar

xin 评论于: 2013-01-30

运行时报错误,能帮我解决下么?谢谢

[reply=轻舞肥羊,2013-01-30 09:14 PM]你好,整个 jar 包,你可以下载这个例子:http://www.yihaomen.com/article/java/318.htm 有完整的 jar 包,当时是最新的。[/reply]
 评论 ( What Do You Think )
名称
邮箱
网址
评论
验证
   
 

 


  • 微信公众号

  • 我的微信

站点声明:

1、一号门博客CMS,由Python, MySQL, Nginx, Wsgi 强力驱动

2、部分文章或者资源来源于互联网, 有时候很难判断是否侵权, 若有侵权, 请联系邮箱:summer@yihaomen.com, 同时欢迎大家注册用户,主动发布无版权争议的 文章/资源.

3、鄂ICP备14001754号-3, 鄂公网安备 42280202422812号