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

作者:岁月染过的梦 时间:2022-03-11 22:02:21 

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

来源:https://www.cnblogs.com/syrgdm/p/13371082.html

标签:Java,web,mybatis,接口,开发
0
投稿

猜你喜欢

  • 浅析C#中的Main(String[] args)参数输入问题

    2023-08-13 01:45:58
  • SpringBoot深入了解日志的使用

    2023-01-06 15:40:34
  • Flutter图片与文件选择器使用实例

    2023-07-17 09:11:12
  • Java线程的五种状态介绍

    2023-06-16 01:22:15
  • Java 如何安全的发布对象

    2022-08-09 05:38:52
  • C#实现winform中RichTextBox在指定光标位置插入图片的方法

    2022-04-04 01:50:16
  • 浅谈SpringMVC的执行流程

    2023-09-30 17:59:59
  • 你所不知道的Spring的@Autowired实现细节分析

    2023-11-25 05:40:47
  • c#操作xml帮助类分享(xml增删改查)

    2022-03-02 04:09:21
  • Java中List转Map List实现的几种姿势

    2022-10-23 19:19:57
  • springboot异常处理的基本规范

    2023-11-23 15:48:19
  • C#生成带二维码的专属微信公众号推广海报实例代码

    2023-04-04 23:30:57
  • MyBatis动态SQL标签的用法详解

    2021-07-24 10:38:56
  • 详解java中的6种单例写法及优缺点

    2021-06-01 17:26:01
  • Java实现树形List与扁平List互转的示例代码

    2023-03-15 00:18:23
  • Java线程中的常见方法(start方法和run方法)

    2023-11-16 17:41:32
  • Java Socket 编程详解

    2022-06-13 12:06:57
  • java简单实现用语音读txt文档方法总结

    2022-11-10 22:02:54
  • C++高并发内存池的整体设计和实现思路

    2023-07-03 16:29:31
  • Java图像之自定义角度旋转(实例)

    2023-10-07 21:04:28
  • asp之家 软件编程 m.aspxhome.com