Javaweb mybatis接口开发实现过程详解

时间:2022-05-03 09:17:03

mapper.xml文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 门店表的映射文件  namespace值为对应接口的全路径 -->
<mapper namespace="com.tedu.dao.DoorMapper">
  <!-- 1.查询所有门店信息,id值为对应接口中方法的名字
    resultType指定将查询的结果封装到哪个pojo对象中
   -->
  <select id="findAll" resultType="com.tedu.pojo.Door">
    select * from tb_door
  </select>
</mapper>

mapper的接口文件(接口由我们自己声明,由Spring-mybatis提供子类实现类)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package com.tedu.dao;
 
import java.util.List;
import com.tedu.pojo.Door;
/**
 * DoorMapper接口
 * 声明增删改查方法,对门店信息进行操作
 */
public interface DoorMapper {
  /**
   *接口由我们开发人员负责提供,但接口的实现类(子类)由框架负责提供
   *如果不整合mybatis和spring框架,接口的子类实例也是由mybatis负责创建
   * 如果整合了mybatis和spring框架,接口的子类实例将会由spring容器负责创建
   */
 
//方法名必须肯mapper文件中的id值一致
  public List<Door> findAll();
}

测试类中调用findAll方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package com.tedu;
 
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
 
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.jasper.tagplugins.jstl.core.ForEach;
import org.junit.Test;
 
import com.tedu.dao.DoorMapper;
import com.tedu.pojo.Door;
 
 
/**
 * mybatis的入门案例: 查询yonghedb.emp表中的所有员工信息
 */
public class TestMybatis01 {
    
    /* 练习1: 查询emp中的所有员工信息 */
    @Test
    public void testFindAll01() throws Exception {
        //1.读取mybatis核心配置文件(mybatis-config.xml),Resources是mybatis提供的工具类
        InputStream in = Resources.getResourceAsStream("mybatis/mybatis-config.xml");
        //2.通过配置信息获取SqlSession工厂对象
        SqlSessionFactory fac = new SqlSessionFactoryBuilder().build( in );
        //3.获取SQLSession对象(打开与数据库的连接)
        SqlSession session = fac.openSession();
        //4.获取Doormapper子类实例
        DoorMapper doormapper = session.getMapper(DoorMapper.class);
        List<Door> lis = doormapper.findAll();
        //5.输出结果
        for (Door door : lis) {
            System.out.println(door);
        }  
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.cnblogs.com/syrgdm/p/13371082.html