java框架---MyBatis接口编程

MyBatis提供接口与配置文件动态绑定的功能

要求:

1.配置文件的namespace名称空间指定为接口的全类名

2.配置文件中的id唯一标识与接口中的方法对应(返回值类型对应,方法名对应,参数个数和类型对应)

接口代码:

package com.bird.mybatis.dao;

import com.bird.mybatis.bean.Employee;

public interface EmployeeMapper {
    public Employee getEmpById(Integer id);
}

对应配置文件代码:

<?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:名称空间(若使用接口式编程,与EmployeeMapper接口全类名一致)
    id:唯一标识(与接口中的方法名对应)
    resultType:返回值类型(与对应方法的返回值对应)
    #{id}:从传递过来的参数中取出id值
 -->
<mapper namespace="com.bird.mybatis.dao.EmployeeMapper">
    <select id="getEmpById" resultType="com.bird.mybatis.bean.Employee">
        select id,last_name lastName,gender,email from tbl_employee where id = #{id}
    </select>
</mapper>

测试代码:

    /**
     * MyBatis接口编程
     * @throws IOException
     */
    @Test
    void test2() throws IOException {
        //获取sqlSessionFactory对象
        SqlSessionFactory ssf = getSqlSessionFactory();
        //获取sqlSession对象
        SqlSession openSession = ssf.openSession();
        try {
            //获取接口的实现类对象
            EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
            Employee empById = mapper.getEmpById(1);
            System.out.println(empById);
        }finally {
            openSession.close();
        }
    }

    /**
     * 获取sqlSessionFactory对象
     * @throws IOException
     */
    public static SqlSessionFactory getSqlSessionFactory() throws IOException {
        String resource = "mybatis-config.xml";
        InputStream is = Resources.getResourceAsStream(resource);
        return new SqlSessionFactoryBuilder().build(is);
    }

总结:

1.接口编程:

原生接口:  Dao  ===> DaoImpl

MyBatis:   Dao  ===> Mapper.xml

2. SqlSession代表与数据库的一次会话,用完要关闭

3. SqlSession和Connection都是非线程安全的,所以每次都要获取新的对象,而不能写成成员变量

4.mapper接口没有实现类,但是MyBatis生成代理对象

原文地址:https://www.cnblogs.com/liujingche00/p/12286934.html

时间: 2024-08-02 08:50:38

java框架---MyBatis接口编程的相关文章

【Mybatis】Mybatis接口编程方式实现增删改查

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 前面一章[Mybatis]Mybatis入门概述及第一个Mybatis实例实现增删改查,已经搭建好了eclipse,mybatis,mysql的环境,并且实现了一个简单的查询.请注意,这种方式是用SqlSession实例来直接执行已映射的SQL语句: session.selectOne("com.mucfc.model.EmployeerMapper.findEmployeerByID&qu

java中面向接口编程

面向接口编程详解(一)——思想基础 我想,对于各位使用面向对象编程语言的程序员来说,“接口”这个名词一定不陌生,但是不知各位有没有这样的疑惑:接口有什么用途?它和抽象类有什么区别?能不能用抽象类代替接口呢?而且,作为程序员,一定经常听到“面向接口编程”这个短语,那么它是什么意思?有什么思想内涵?和面向对象编程是什么关系?本文将一一解答这些疑问. 1.面向接口编程和面向对象编程是什么关系 首先,面向接口编程和面向对象编程并不是平级的,它并不是比面向对象编程更先进的一种独立的编程思想,而是附属于面向

JAVA 框架-Mybatis

一.Mybatis简介 1.MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .2013年11月迁移到Github.iBATIS一词来源于"internet"和"abatis"的组合,是一个基于Java的持久层框架.iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs). 2.功

java框架---MyBatis全局配置文件

以下均放在configuration标签下 1.properties标签 可以使用properties标签引入外部properties配置文件的内容 两个属性: resource:引入类路径下的资源 url:引入网络路径或者磁盘路径下的资源 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3

Java框架-MyBatis三剑客之MyBatis Generator(mybatis-generator MBG插件)详解

生成器设计思路: 连接数据库 -> 获取表结构 -> 生成文件 1 下载与安装 官网文档入口 最方便的 maven 插件使用方式 贴至pom 文件 2 新建配置文件 填充配置信息(官网示例) 项目实例 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Genera

java框架----&gt;mybatis的使用(一)

这里我们记录一些mybatis的一些常用知识和项目中遇到的问题总结.快乐人生的三个必要元素是,有要做的事.热爱的事及盼望的事. mybatis的一些知识 一.mybatis插入返回主键值 插入的java代码:其中返回是当前插入的主键,insert方法返回的是影响的行数. public void insertUserInfo() { Map<String, Object> map1 = new HashMap<>(); map1.put("userName", &

JAVA SpringMVC+mybatis(oracle 和 mysql) HTML5 bootstrap全新高大尚后台框架

说明:JAVA SpringMVC+mybatis(oracle 和 mysql) HTML5 全新高大尚后台框架 bootstrap 1.支持APP手机应用(android和ios)接口调用 2.全新高大尚HTML5+css3.0+bootstrap开发界面UI,美观漂亮时尚.前沿 3.有ORACLE 和MYSQL ,Spring3.0,4.0版本各一个,一共4套版本全部提供源代码 4.框架搭建完善,在此基础上做过很多项目,身经百战,支持大并发,程序运行稳定. 5.基础功能已经完善,此为框架平

详解Java的MyBatis框架中SQL语句映射部分的编写

这篇文章主要介绍了Java的MyBatis框架中SQL语句映射部分的编写,文中分为resultMap和增删查改实现两个部分来讲解,需要的朋友可以参考下 1.resultMap SQL 映射XML 文件是所有sql语句放置的地方.需要定义一个workspace,一般定义为对应的接口类的路径.写好SQL语句映射文件后,需要在MyBAtis配置文件mappers标签中引用,例如: ? 1 2 3 4 5 6 <mappers>   <mapper resource="com/limi

JAVA SpringMVC+mybatis(oracle 和 mysql) HTML5 全新高大尚后台框架 bootstrap

说明:JAVA SpringMVC+mybatis(oracle 和 mysql) HTML5 全新高大尚后台框架 bootstrap 1.支持APP手机应用(android和ios)接口调用 2.全新高大尚HTML5+css3.0+bootstrap开发界面UI,美观漂亮时尚.前沿 3.有ORACLE 和MYSQL ,Spring3.0,4.0版本各一个,一共4套版本全部提供源代码 4.框架搭建完善,在此基础上做过很多项目,身经百战,支持大并发,程序运行稳定. 5.基础功能已经完善,此为框架平