接口式编程
主要是为了解决再调用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 !!"".equals(command.trim())"> 6 AND command = #{command} 7 </if> 8 <if test="description != null and !"".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 }