专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > SQL

mybatis注脚动态sql实现

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
mybatis注解动态sql实现

mybatis动态sql 有2种实现方式。

1:script标签

@Select("<script> " +
            "SELECT id, name, email,password " +
            "FROM user " +
            " <where> " +
            " <if test="email != null">id=#{email}</if> " +
            " <if test="name != null"> AND name=#{name}</if> " +
            " </where> " +
            " </script> ")

 同时 对于LIKE 也是不能够直接使用的 可以借助concat函数实现

@Select("SELECT name from user WHERE email LIKE concat(#{prefix},'%') limit 5")

 

 

2使用复杂注解类 。如:@InsertProvider,@UpdateProvider,@DeleteProvider和@SelectProvider,这些都是建立动态语言和让MyBatis执行这些语言。

现在让我们来看一下如何使用@ SelectProvider来创建简单的SELECT映射的例子。创建一个TutorDynaSqlProvider.Java类,带有findTutorByIdSql()的方法。

 

package com.owen.mybatis.sqlproviders;
import org.apache.ibatis.jdbc.SQL;
public class TutorDynaSqlProvider
{
public String findTutorByIdSql(int tutorId)
{
return "SELECT TUTOR_ID AS tutorId, NAME, EMAIL FROM TUTORS
WHERE TUTOR_ID=#{tutorId}";
} }

 

@SelectProvider(type=TutorDynaSqlProvider.class,
method="findTutorByIdSql")
Tutor findTutorById(int tutorId);

 

 

参考:

写道
MyBatis注解应用之动态SQL语句

 

 

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: