MyBatis如何使用(二)

前边阐述了如何在java项目中使用mybatis,我们使用的是映射文件的方式,在获得具体的数据操作方法时需要传入映射文件中namespace+“.”方法名称,这种方式有时候会感觉很不爽,很麻烦。我们在开发中不是常说要面向接口变成吗,mybatis也支持接口,下面在前面的例子的基础上做相应修改。

前面的例子的环境及映射文件均保持不变,如下是我的映射文件,

<mapper namespace="com.cn.inter.IMessageOperation">
<select id="selectUserByID" parameterType="int" resultType="com.cn.imooc.entity.Message">
select * from `message` where id = #{id}
</select>
<select id="selectMessages" resultType="Message">
select id,
command,
description,
comment
from message;
</select>
</mapper>

我们可以看到里边有namespace为com.cn.inter.ImessageOperation,现在我们创建这样一个包,com.cn.inter,在此包中创建接口IMessageOperation,接口中有一个方法,方法的签名为:public Message selectUserByID(Integer id);

我们创建的接口和映射文件做了一致对应,包括了方法名、返回值、参数列表。下面看测试方法

package com.cn.test;
import java.io.Reader;
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 com.cn.imooc.entity.Message;
import com.cn.inter.IMessageOperation;
public class MyTest2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Reader reader;
SqlSession sqlSession=null;
try{
//从类路径下(src)读取mybatis配置文件
reader=Resources.getResourceAsReader("Configuration.xml");
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);
sqlSession=sqlSessionFactory.openSession();
//获得IMessageOperation接口
IMessageOperation imo=sqlSession.getMapper(IMessageOperation.class);
//调用接口的方法返回查询结果
Message message=imo.selectMessageByIdI(new Integer(3));
System.out.println(message);
}
catch(Exception e){
e.printStackTrace();
}finally{
//如果sqlSession不为空,则关闭
if(null!=sqlSession)
sqlSession.close();
}
}
}

我们可以看到测试方法中调用数据操作的方法发生了变化,我们是先获得一个IMessageOperation的接口,然后调用其selectMessageByID方法,最后得到结果。可以感觉到比上一篇中的方式更加简单了,也更符合我们日常的编码规范了。

综合这两篇内容中的方式,使用任何一种都是可以的,只是两种不同的方式而已,我个人更倾向于后者。

以上所述是小编给大家介绍的MyBatis如何使用(二)的相关资料,非常不错,具有参考借鉴价值,希望对大家有所帮助!

(0)

相关推荐

  • oracle+mybatis 使用动态Sql当插入字段不确定的情况下实现批量insert

    最近做项目遇到一个挺纠结的问题,由于业务的关系,DB的数据表无法确定,在使用过程中字段可能会增加,这样在insert时给我造成了很大的困扰. 先来看一下最终我是怎么实现的: <insert id="batchInsertLine" parameterType="HashMap"> <![CDATA[ INSERT INTO tg_fcst_lines(${lineColumn}) select result.*,sq_fcst_lines.next

  • Java的MyBatis框架中Mapper映射配置的使用及原理解析

    Mapper的内置方法 model层就是实体类,对应数据库的表.controller层是Servlet,主要是负责业务模块流程的控制,调用service接口的方法,在struts2就是Action.Service层主要做逻辑判断,Dao层是数据访问层,与数据库进行对接.至于Mapper是mybtis框架的映射用到,mapper映射文件在dao层用. 下面是介绍一下Mapper的内置方法: 1.countByExample ===>根据条件查询数量 int countByExample(UserE

  • MyBatis如何使用(三)

    在前边阐述了单独使用mybatis的方法,在实际开发过程中mybatis经常和spring一起使用,即mybatis和spring进行集成,现在我们来看如何集成. mybatis和spring进行集成需要用到集成包:mybatis-spring-1.1.1.jar,此包提供mybatis和spring集成的支持,把此包导入到项目的lib目录下. 我们先看mybatis单独使用的时候的过程,mybatis配置文件==>读取配置文件==>操作数据库,具体的使用方法可参照前两篇文章. 下面进行myb

  • Mybatis学习总结之mybatis使用建议

    简介:什么是MyBatis? (前身为iBatis) MyBatis 是一个可以自定义SQL.存储过程和高级映射的持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索.MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录. 1.Mapper层参数为Map,由Service层负责重载. Mapper由于机制的问题,不能重载,参数一般设置成Ma

  • MyBatis如何使用(一)

    mybatis作为ORM轻量级框架一出现就吸引了无数人的眼球,比hibernate要简单且入门较容易,下面开始我的第一个mybatis程序. 一.下载mybatis的包 我们知道任何一个框架都会有其包,我们从其官方网站下载其包,官网网址为:http://www.mybatis.org/mybatis-3/,我这里使用的版本为3.3.0.下载完成之后解压可看到如下的目录结构: mybatis-3.3.0.jar是其包,lib目录下是其依赖包,我们把这些包放到我们的项目中.我这里创建的是javawe

  • 整理Java的MyBatis框架中一些重要的功能及基本使用示例

    基本用法回顾: SQL语句存储在XML文件或Java 注解中.一个MaBatis映射的示例(其中用到了Java接口和MyBatis注解): package org.mybatis.example; public interface BlogMapper { @Select("select * from Blog where id = #{id}") Blog selectBlog(int id); } 执行的示例: BlogMapper mapper = session.getMapp

  • MyBatis入门初体验之使用大全(2)

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

  • MyBatis学习教程(二)—如何使用MyBatis对users表执行CRUD操作

    上一篇文章MyBatis入门学习教程(一)-MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对users表执行CRUD操作.在没奔主题之前,先给大家补充点有关mybatis和crud的基本知识. 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架. MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索.MyBa

  • MyBatis如何使用(二)

    前边阐述了如何在java项目中使用mybatis,我们使用的是映射文件的方式,在获得具体的数据操作方法时需要传入映射文件中namespace+"."方法名称,这种方式有时候会感觉很不爽,很麻烦.我们在开发中不是常说要面向接口变成吗,mybatis也支持接口,下面在前面的例子的基础上做相应修改. 前面的例子的环境及映射文件均保持不变,如下是我的映射文件, <mapper namespace="com.cn.inter.IMessageOperation">

  • MyBatis学习笔记(二)之关联关系

    今天主要学习的关联关系是一对一关系与一对多关系. 一.一对一关系 还是通过例子来解释说明.(一个妻子对应一个丈夫). 1)数据库信息 create table t_wife( id int primary key auto_increment, wife_name varchar(), fk_husband_id int ); create table t_husband( id int primary key auto_increment, husband_name varchar() );

  • Mybatis-Plus和Mybatis的区别详解

    原文:https://blog.csdn.net/qq_34508530/article/details/88943858 . 区别一 如果Mybatis Plus是扳手,那Mybatis Generator就是生产扳手的工厂. 通俗来讲-- MyBatis:一种操作数据库的框架,提供一种Mapper类,支持让你用java代码进行增删改查的数据库操作,省去了每次都要手写sql语句的麻烦.但是!有一个前提,你得先在xml中写好sql语句,是不是很麻烦?于是有下面的↓ Mybatis Generat

  • 浅析Mybatis Plus和Mybatis的区别

    区别一 如果Mybatis Plus是扳手,那Mybatis Generator就是生产扳手的工厂. 通俗来讲-- MyBatis:一种操作数据库的框架,提供一种Mapper类,支持让你用java代码进行增删改查的数据库操作,省去了每次都要手写sql语句的麻烦.但是!有一个前提,你得先在xml中写好sql语句,是不是很麻烦?于是有下面的↓ Mybatis Generator:自动为Mybatis生成简单的增删改查sql语句的工具,省去一大票时间,两者配合使用,开发速度快到飞起.至于标题说的↓ M

  • JAVA MyBatis入门学习过程记录

    目录 一.Mybatis 1.mybatis-config.xml 2.Mapper.xml 3.db.properties 4.MybatisUtils工具类 5.多对一AND多对一: 6.使用注解开发 7.自定义缓存:ehcache 8.mybatis 其他工具 二.MAVEN资源导出错误解决 三.常用依赖导入 四.LOG4J 1.log4j.properties 配置文件 2.log4j 在mybatis-config.xml的配置 3.使用场景 好用的插件: 1.lombok 总结 一.

  • Mybatis执行流程、缓存原理及相关面试题汇总

    目录 一.Mybatis执行流程 二.Mybatis缓存 1.一级缓存 2.二级缓存 3.缓存原理 三.相关面试题 1.为什么说 Mybatis 是半自动ORM映射工具?它与全自动的区别在哪里? 2.简述一下Mybatis的执行流程吧 ? 3.说一下Mybatis的优缺点 ? 4.#{} 和 ${} 的区别是什么 ? 5.Mybatis的动态SQL有什么作用?执行原理是什么?有哪些常用标签? 总结 一.Mybatis执行流程 具体分析Mybatis是如何操作数据库的! 1.定义我们的核心配置文件

  • SpringBoot MyBatis保姆级整合教程

    目录 Spring Boot整合MyBatis 数据准备 创建项目引入相应的启动器 编写与数据库表 编写配置文件 注解方式整合Mybatis 配置文件的方式整合MyBatis 创建接口类 创建XML映射文件 配置XML映射文件路径 编写单元测试进行接口方法测试 Spring Boot整合MyBatis MyBatis 是一款优秀的持久层框架,Spring Boot官方虽然没有对MyBatis进行整合,但是MyBatis团队自行适配了对应的启动器,进一步简化了使用MyBatis进行数据的操作 基础

  • MyBatis中关于SQL的写法总结

    目录 一.MyBatis – if 语句 二.MyBatis --choose 语句 三.MyBatis – trim 四.MyBatis – where 五.MyBatis – set 六.MyBatis – foreach 七.MyBatis – concat 八.MyBatis – sql片段 最近MyBatis使用较多,在这里简单总结一下MyBatis的sql写法 说简单一点mybatis就是写原⽣sql,官方都说了 mybatis 的动态sql语句是基于OGNL表达式的.可以方便的在

  • SpringBoot中整合MyBatis-Plus的方法示例

    MyBatis 框架相信大家都用过,虽然 MyBatis 可以直接在 xml 中通过 SQL 语句操作数据库,很是灵活.但正其操作都要通过 SQL 语句进行,就必须写大量的 xml 文件,很是麻烦.于是 MyBatis-Plus 应运而生,作为 MyBatis 的增强工具,更是为我们开发效率得到了质的飞跃. 一.简介 1.MyBatis MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射.MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工

随机推荐