Mybatis和Servlet的整合
搭建环境
创建项目
我们创建一个java web项目
添加 jar 包
添加 mybatis 的jar包和 servlet 的jar包
添加配置文件
添加 POJO、接口、映射配置文件
根据之前的深入学习三的工具的使用,快捷生成下列文件。
映射配置文件可以直接复制之前的项目内容。
OpenSessionInView 的使用
概念
创建 OpenSqlSessionInViewFilter
package com.bjsxt.web.filter;
import com.bjsxt.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;
/**
* 在Filter中打开一个SqlSession
*/
@WebFilter("/*")
public class OpenSqlSessionInViewFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
SqlSession sqlSession = MybatisUtils.getSqlSession();
try{
filterChain.doFilter(servletRequest, servletResponse);
//事务的提交
sqlSession.commit();
}catch(Exception e){
e.printStackTrace();
//做一个事务的回滚
sqlSession.rollback();
}finally {
MybatisUtils.closeSqlSession();
}
}
@Override
public void destroy() {
}
}
完成业务操作
添加用户
修改index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
<a href="addUsers.jsp">添加用户</a> <a href="findUsers.jsp">查询用户</a>
</body>
</html>
创建 addUsers.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>添加用户</title>
</head>
<body>
<form action="usersServlet.do" method="post">
<input type="hidden" name="flag" value="addUsers"/>
用户姓名: <input type="text" name="username"/><br/>
用户性别:<input type="text" name="usersex"/><br/>
<input type="submit" value="OK"/>
</form