林炳文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
本文工程免费下载
Eclipse中创建一个Web项目,导入如下的包:
这里一定要注意不能少mybatis-spring-1.2.2.jar这个包,这个包是用来联系Spring和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);
查看下结果:
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配置文件中,只需要配置映射文件的路径就可以了。
1、在WEB-INF里配置Spring的配置文件:
SpringConf.xml放在WEB-INF里,注意路径
web.xml放在WEB-INF里
index.html
index.htm
index.jsp
org.springframework.web.context.ContextLoaderListener
contextConfigLocation
/WEB-INF/SpringConf.xml
在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/
结果如下:
林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka
本文工程免费下载