您的位置 首页 教育

Servlet+mybatis整合Web项目

声明:这个项目搭建只是个人一时兴起,对于一些文件的位置,没有过多的注意是否放在标准的位置(人和代码有一个会跑就…

Servlet+mybatis整合Web项目

                声明:这个项目搭建只是个人一时兴起,对于一些文件的位置,没有过多的注意是否放在标准的位置(人和代码有一个会跑就行)。

                所以这个项目搭建,我就直接上代码了,不会作过多的讲解,对于mybatis的配置文件和工具类后面有时间会系统的讲解。

        第一步:搭建一个web工程(idea根据自己的版本来,有些是按照maven的步骤来)

        

        第二步导入依赖

                pom.xml

  
    junit
    junit
    3.8.1
    test
  
  
    mysql
    mysql-connector-java
    8.0.29
  
    
      javax.servlet
      javax.servlet-api
      4.0.1
      provided
    

  
    org.mybatis
    mybatis
    3.5.4
  
  
    org.projectlombok
    lombok
    1.18.24
  
  
    jstl
    jstl
    1.2
  

  
    javax.servlet.jsp
    jsp-api
    2.2
  

         第三步,创建各种包和配置文件

                         userServlet类

@WebServlet("/toUserList")
public class userServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html; charset=UTF-8");
        PrintWriter out = response.getWriter();



        IUserService iUserService=new UserService();
        
        List userList = iUserService.findUserAll();
        //方便控制台查看返回数据
        for (User user : userList) {
            System.out.println(user);
        }

        request.setAttribute("userlist", userList);
        //转发
        request.getRequestDispatcher("hello.jsp").forward(request, response);

    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }
}

                 userMapper类

public interface UserMapper {

    
    List selectList();

}

                User实体类

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private Integer id;
    private String  username;
    private  String password;
    private  Integer status;
}

        

        UserService类
public class UserService implements IUserService {

    @Override
    public List findUserAll() throws IOException {
        //第一步
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        //第二步骤:获取调用类对象
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        //第三步:直接开始调用
        return mapper.selectList();
    }
}
                IUserService接口
public interface IUserService {

    List findUserAll() throws IOException;
}

                        

                MyBatisUtils工具类
public class MyBatisUtils {
    private static  Reader resourceAsReader;
    private static SqlSessionFactory build;

    private static  ThreadLocal sqlSessionThreadLocal;
    static {
        try {
            resourceAsReader = Resources.getResourceAsReader("mybatis.xml");
            build = new SqlSessionFactoryBuilder().build(resourceAsReader);
            sqlSessionThreadLocal=new ThreadLocal();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    
    public static SqlSession getSqlSession() throws IOException {
        SqlSession sqlSession1 = sqlSessionThreadLocal.get();
        if(null!=sqlSession1){
            return sqlSession1;
        }
        //程序执行到这里 说明不是一个sqlsession对象
        //打开了我们的会话  操作数据库
        SqlSession sqlSession = build.openSession();
        sqlSessionThreadLocal.set(sqlSession);
        return sqlSession;
    }

    
    public static void  close(){
        SqlSession sqlSession = sqlSessionThreadLocal.get();
        if(null!=sqlSession){
            sqlSession.commit();
            sqlSession.close();
            sqlSessionThreadLocal.remove();
        }
    }

}
                UserMapper.xml






    
    
        select * from user
    

                        mybatis.xml




    
    
        
            
            
                
                
                
                
                
            
        
    
    
    
        
    


                        hello.jsp







    
    
    
        table{
            width: 400px;
            text-align: center;
        }
    



添加用户
序号姓名密码操作
${user.id} ${user.username} ${user.password} 删除修改

                index.jsp







    



                数据库:

 

        效果:

         

                以上就是servlet整合mybatis的web项目搭建的过程,我这里只不过实现了简单的查询功能,其他的业务逻辑,哪位有兴趣就去写吧

 

本文来自网络,不代表南趣百科立场,转载请注明出处:https://www.nqbk.com/n/567.html
admin

作者: 南趣小编

南趣百科为您保驾护航,伴您快乐生活每一天吧
返回顶部