#方法一,注解中的script标签
使用 标签包裹
—可以正常的使用在 XML 的动态SQL 标签trim,where,set,foreach,if,choose,when,otherwise,bind
—不能使用如引入sql片段等类似标签。
—也无法使用大于号 、小于号等,可以使用转义字符表示。
—注解中字符串拼接可以用+号或者用,号连接。
新增一个接口UserDao4
ackage com.mu.dao;
import com.mu.pojo.User;
import org.apache.ibatis.annotations.Select;
import java.util.List;
import java.util.Map;
public interface UserDao4 {
@Select("<script> SELECT * FROM user WHERE id>3"+
"<if test=\"age!= null \"> AND age = #{age}</if>"+
"<if test=\"phone!= null and phone !='' \"> AND phone = #{phone}</if>"+
"</script>")
List<User> iftesta(Map map);
}
全局配置文件中加载接口
编写测试类MyTest3
package com.mu;
import com.mu.dao.UserDao4;
import com.mu.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
public class