Mybatis配置文件中的经常使用标签sql
Mybatis中容易混淆的概念编程
1. resultMap和resultType mybatis
2. parameterMap和parameterTypeapp
3. #{}和${}函数
Mybatis的面向接口式编程spa
将配置文件中定义的sql语句映射为借口中的某个函数声明;.net
//普通执行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.csdn.net/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); }