当前位置 : 主页 > 编程语言 > java >

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

来源:互联网 收集:自由互联 发布时间:2021-04-30
mapper.xml文件 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 namesp

mapper.xml文件

<?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提供子类实现类)

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方法

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);
		}	
	}
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

网友评论