Mybatis配置文件中的常用标签
Mybatis中容易混淆的概念
1. resultMap和resultType
2. parameterMap和parameterType
3. #{}和${}
Mybatis的面向接口式编程
将配置文件中定义的sql语句映射为借口中的某个函数声明;
//普通执行SQL方式:通过sqlSession执行SQL语句
messages = sqlSession.selectList("Message.queryMessageList", message);
//面向接口式编程,执行SQL的方式
//动态代理,queryMessageList()并没有具体实现,却可以调用
IMessage iMessage = sqlSession.getMapper(IMessage.class);
messages = iMessage.queryMessageList(message);
Mapper.xml配置教程:http://blog.youkuaiyun.com/zhll3377/article/details/8203440
<!-- queryMessageList的SQL定义,位于Message.xml文件中 -->
<select id="queryMessageList" parameterType="com.mybatis.bean.Message" resultMap="MessageResult">
select ID,COMMAND,DESCRIPTION,CONTENT
from MESSAGE
where 1=1
<if test="command!=null and !"".equals(command.trim())">
and COMMAND=#{command}
</if>
<if test="description!=null and !"".equals(description.trim())">
and DESCRIPTION like '%' #{description} '%'
</if>
</select>
//IMessage接口
/**
* 与Message配置文件相对应的接口
* @author Qiang
*/
public interface IMessage {
public List<Message> queryMessageList(Message message);
}