Mybatis+Spring整合创建Web项目

          林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka

        本文要实现使用Mybatis+Spring+Mysql实现一个Web项目的整目。在Spring中配置数据源和Mybatis的SqlSessionFactory,然后在Web中的JSP中取得Spring中的bean。通过这个bean来操作Mysql中的表。网上看了好多人有写,但是要么是图没表示清楚,要么是代码没贴完。本文是一个完整的教程,照着做你也可以自己整合!

使用的版本:Mybatis-3.2.8

                        Spring3.2.9

                         Mysql5.6

开发环境:    Eclipse  Java EE Kepler+Win7

本文工程免费下载

一、创建Web项目并导入包

Eclipse中创建一个Web项目,导入如下的包:

Mybatis+Spring整合创建Web项目_第1张图片

这里一定要注意不能少mybatis-spring-1.2.2.jar这个包,这个包是用来联系Spring和Mybatis的,很重要!!

整个工程目录如下:

Mybatis+Spring整合创建Web项目_第2张图片

二、创建库表映射类并配置MyBatis

1、首先在数据库中创建一张表 t_user

use test;
DROP TABLE IF EXISTS t_user;
create table t_user
(
 userId  int primary key auto_increment,
 userName VARCHAR(50) not null,
 userAge int not null
);
然后插入4条数据:

insert into t_user values(1,'小王',10);
insert into t_user values(2,'红红',11);
insert into t_user values(3,'明明',12);
insert into t_user values(4,'天天',13);
查看下结果:

Mybatis+Spring整合创建Web项目_第3张图片

2、表创建好之后便创建其映射类User,位于包com.mucfc.model中

package com.mucfc.model;
/**
 * User映射类
 * @author linbingwen
 * @time 2015.5.15
 */
public class User {
	private Integer userId;
	private String userName;
	private int userAge;
	public Integer getUserId() {
		return userId;
	}
	public void setUserId(Integer userId) {
		this.userId = userId;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public int getUserAge() {
		return userAge;
	}
	public void setUserAge(int userAge) {
		this.userAge = userAge;
	}
	@Override
	public String toString() {
		return "User [userId=" + userId + ", userName=" + userName
				+ ", userAge=" + userAge + "]";
	}

}

2、映射类创建好之后便创建MyBatis映射文件(即Mapper文件),位于和src同级的conf的mapper包中,文件内容如下:



	
	  
      
3、创建映射UserMapper类如下,位于包com.mucfc.mapper中

package com.mucfc.mapper;

import com.mucfc.model.User;
/**
 * Mapper映射类
 * @author linbingwen
 * @time 2015.5.15
 */
public interface UserMapper {
	public User selectUserById(int userId);

}
4、创建操作数据的DAO层

package com.mucfc.dao;

import com.mucfc.model.User;
/**
 * DAO接口层
 * @author linbingwen
 * @time 2015.5.15
 */
public interface UserDao {
	/**
	 * 根据用户ID查询用户信息
	 * @param id
	 * @return
	 */
	public User findUserById(int id);
}
然后是对应的实现层

package com.mucfc.dao;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import  com.mucfc.mapper.UserMapper;
import com.mucfc.model.User;
/**
 * DAO实现层
 * @author linbingwen
 * @time 2015.5.15
 */
@Component
public class UserDaoImpl implements UserDao{
    @Autowired
	private UserMapper userMapper;
	@Override
	public User findUserById(int id) {
		User user = userMapper.selectUserById(id);
		 return user; 
	}
	
}

5、在conf里配置Mybatis的配置文件:

MyBatisConf.xmll放在conf里,注意路径




   
 	
       
     
   
   
       
   

如果不与Spring进行整合的话,此配置文件还需要配置数据源信息,与Spring整合之后数据源就配置在Spring配置文件中,只需要配置映射文件的路径就可以了。

三、配置Spring

1、在WEB-INF里配置Spring的配置文件:

SpringConf.xml放在WEB-INF里,注意路径



	
	
		
		
		
		
	


	
		
	
		
		
	

	    
         
         
     
	
	



2、web.xml中启动Spring

web.xml放在WEB-INF里



	
	
		index.html
		index.htm
		index.jsp
	
	
	
	
		org.springframework.web.context.ContextLoaderListener
	
	
		contextConfigLocation
		/WEB-INF/SpringConf.xml
	



3、读取bean,进行查找

在index.jsp中设置如下:

index.jsp放置在WebContent中

<%@ page import="com.mucfc.dao.UserDao"%>
<%@page import="org.springframework.web.context.WebApplicationContext"%>
<%@page
	import="org.springframework.web.context.support.WebApplicationContextUtils"%>
<%@ page language="java" contentType="text/html" pageEncoding="UTF-8"%>




Insert title here


	
欢迎
<% WebApplicationContext wac = WebApplicationContextUtils .getWebApplicationContext(this.getServletContext()); UserDao userDao = (UserDao) wac.getBean("userDaoImpl"); %> <%=userDao.findUserById(1)%>
<%=userDao.findUserById(2)%>
<%=userDao.findUserById(3)%>
<%=userDao.findUserById(4)%>

四、运行

1、以run on server运行

2、浏览器输入:http://localhost:8080/MybatisLearningChapter5/

结果如下:

Mybatis+Spring整合创建Web项目_第4张图片


Mybatis+Spring整合创建Web项目_第5张图片

林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka

本文工程免费下载

你可能感兴趣的:(Mybatis)