接口式编程

主要是为了解决再调用MyBatis的SQL时候可能出现的认为失误

1、新建一个接口作为映射文件的说明。映射文件的命名空间就是这个接口的权限定类名。这样就保证了命名空间的唯一性

2、每条映射文件的SQL ID,对应一个接口中的方法。名称一样。参数与返回值类型也与映射文件一致

具体使用

xml

 1     <!--查询-->
 2     <select id="queryMessageList" resultMap="messageResult" parameterType="message">
 3         SELECT <include refid="messageColumns"/> FROM message
 4         <where>
 5             <if test="command != null and !!&quot;&quot;.equals(command.trim())">
 6                 AND command = #{command}
 7             </if>
 8             <if test="description != null and !&quot;&quot;.equals(description.trim())">
 9                 AND description LIKE CONCAT(‘%‘, #{description}, ‘%‘)
10             </if>
11         </where>
12     </select>

接口

 1 package org.zln.dao;
 2
 3 import org.zln.domain.Message;
 4
 5 import java.util.List;
 6
 7 /**
 8  * Created by sherry on 000008/7/8 19:26.
 9  */
10 public interface IMessage {
11     public List<Message> queryMessageList(Message message);
12
13 }

调用

1     public List<Message> queryMessageList(String command,String description){
2         Message message = new Message();
3         message.setCommand(command);
4         message.setDescription(description);
5         IMessage iMessage = sqlSessionTemplate.getMapper(IMessage.class);
6         return iMessage.queryMessageList(message);
7     }
时间: 2024-10-14 02:15:39

接口式编程的相关文章

接口式编程小结

1.接口式编程 原生:            Dao        =======>   DaoImpl mybatis:       Mapper  =======>   xxMapper.xml 2.Sq1Session代表和数据库的一次会话; 用完必须关闭 3.SqlSession和connection一样她都是非线程安全.每次使用都应该去获取新的对象 4.mapper接口没有实现类,但是mybatis会为这个接口生成一个代理对象.(将接口和xml绑定) 5.两个重要的配置文件: myb

MyBatis接口式编程

代码清单及总结 接口 /** * 这是一个接口 * @author guozhenZhao * @date 2018年7月16日 */ public interface EmployeeMapper { public Employee getEmployeeById(Integer id); } 全局配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC

Mybatis面向接口式编程

Mybatis面向接口编程 1.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"> <mapper namespace="co

wcf之二(接口契约式编程思想)

Wcf编程之二(接口契约编程) 简述 任务理解接口式编程,定义一个接口是为了遵循中规范,便于程序的扩展.接口是一种能力也是一种约定.1.接口不可以被实例化 2.实现类必须实现接口的所有方法(抽象类除外)3.接口可以实现多继承 4.接口中可定义属性. 实例 打印机需要墨盒和纸张.墨盒有黑白.彩色.纸张有A4 B5.打印机怎么实现对不同纸张好墨盒打印的呢?接口契约式编程,打印机执行定义纸张接口和墨盒接口两个约定.纸张厂家和墨盒厂家只需遵循约定就可有打印. 代码 接口契约墨盒 public inter

PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程

1.PHP中的抽象类 PHP 5 支持抽象类和抽象方法.定义为抽象的类不能被实例化.任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的.被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现.在类的声明中使用 abstract 修饰符可以将某个类声明为抽象的. 可以这样理解,抽象类作为一个基类,它把特定的细节留给继承者来实现.通过抽象概念,可以在开发项目中创建扩展性很好的架构. abstract class AbstractClass{   

PHP OPP 和模式 (1) - 抽象类、对象接口、instanceof 和契约式编程

PHP高级程序设计 学习笔记 2014.06.09 本文将介绍抽象类.接口和一种称为契约式编程的技术.使用这些OPP机制,所编写的代码就不限于只能计算或者输出内容了.这些机制能够在概念层次上定义类之间交互作用的规则,也为应用程序的扩展和定制提供了基础. 1.抽象类 抽象类机制中总是要定义一个公共的基类,而将特定的细节留给继承者来实现.通过抽象概念,可以在开发项目中创建扩展性很好的架构.任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的.被定义为抽象的方法只是声明

Java链式编程接口

在android开发中显示一个AlertDialog时,常采用下列的写法: new AlertDialog.Builder(getApplicationContext()) .setTitle("Dialog") .setMessage("Link program") .setPositiveButton("OK", new OnClickListener() { @Override public void onClick(DialogInter

ReactiveX--响应式编程の相关概念 浅析

在许多软件编程任务中,你或多或少期待你的指令将会按照你已经写好的顺序,依次增量执行和完成.但在ReactiveX,很多指令可以通过“观察者”并行执行,其结果将以任意顺序被捕获.你定义了一种“可观察的形式“的检索和转换数据机制而不??是调用方法,然后订阅观察者给它,每当之前定义好的机制已经准备好了,这些机制就会触发常设的哨兵去捕获并反馈结果. 这种方法的优点是,当你有一大堆的任务是不相互依赖,你就可以同时执行他们,而不是等待每一个来启动下一个前完成,这样你的整个任务包只需要花最长的任务时间. 有很

论文式编程

文学编程 文学编程(Literate programming)的一些概念,上个世纪 70 年代就有人提出来了. 文学编程的思想非常简单,就是将那些为了能被编译器/解释器正确识别而编写的代码打碎,然后用人类语言将它们编织到文档中,这种文档就是文学编程的源文件.这一概念第一次被完整的实现,是 Knuth 开发的 WEB 工具(此 WEB 并非现代漫天飞舞的那个 Web).Knuth 的神作——TeX 系统便是借助 WEB 开发的. WEB 工具由 tangle 与 weave 这两个程序构成.tan