MyBatis 专题
您的位置:java > MyBatis专题 > MyBatis SqlSessionDaoSupport实例
MyBatis SqlSessionDaoSupport实例
作者:--    发布时间:2019-11-20

在前面的章节中,我们已经讲到了基本的 mybatis 操作,但都是基于 mapper 隐射操作的,在 mybatis3 中这个 mapper 接口貌似充当了以前在ibatis 2中的 dao 层的作用。但事实上,如果有这个mapper接口不能完成的工作,或者需要更复杂的扩展的时候,我们就需要自己写 dao 层。 mybatis 3 也是支持 dao 层设计的,类似于 ibatis2。下面我们结合一个实例来介绍。

首页我们创建一个工程为:mybatis11,再创建一个 com.yihaomen.dao 包,然后在里面分别创建接口userdao,并实现该接口 userdaoimpl 。整个工程的目录结构如下:

mybatis sqlsessiondaosupport应用实例


userdao接口的代码如下:

package com.h3.dao;

import java.util.list;

import com.h3.pojo.order;

public interface userdao {
    public list<order> getuserorders(int userid);
}
userdaoimpl 实现userdao接口的代码如下:

package com.h3.dao;

import java.util.list;

import org.mybatis.spring.support.sqlsessiondaosupport;
import org.springframework.stereotype.repository;

import com.h3.pojo.order;

@repository
public class userdaoimpl extends sqlsessiondaosupport implements userdao {
	public list<order> getuserorders(int userid) {
		// todo auto-generated method stub
		return this.getsqlsession().selectlist("com.h3.inter.iuser.getuserorders",userid);
	}
}
控制类 usercontroller.java 的代码如下:

package com.h3.controller;

import java.util.list;

import javax.servlet.http.httpservletrequest;
import javax.servlet.http.httpservletresponse;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.stereotype.controller;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.servlet.modelandview;

import com.h3.dao.userdao;
import com.h3.pojo.order;
import com.h3.util.page;

// http://localhost:8080/mybatis08-paging/user/orders
@controller
@requestmapping("/user")
public class usercontroller {
	//usermaper usermaper;
	
	@autowired
	userdao userdao;
	
	/**
	 * 某一个用户下的所有订单(dao方式)
	 * url => http://localhost:8080/mybatis11/user/lists
	 * 
	 * @param request
	 * @param response
	 * @return
	 */
	@requestmapping("/lists")
	public modelandview listalldao(httpservletrequest request,
			httpservletresponse response) {
		list<order> orders = this.userdao.getuserorders(1);
		// 制定视图 =>list.jsp
		modelandview mav = new modelandview("lists");
		mav.addobject("orders", orders);
		return mav;
	}

}
下一步,我们运行检验结果(根据用户id,读取这个用户的所有订单),打开浏览器,输入网址:http://localhost:8080/mybatis11/user/lists ,结果如下图所示:


工程 mybatis11 的代码下载:http://pan.baidu.com/s/1sjrel9v

jar 包下载:http://pan.baidu.com/s/1bnyrj9h



网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册