一、配置xml路径
mybatis-plus:
mapper-locations: classpath:mapper/*.xml
二、编写Mapper里面的方法
public interface UserMapper extends BaseMapper
List
List<User> selectByXml(@Param("name") String name);
}
三、编写sql
<select id="selectByXml" resultType="com.example.mybatisplusdemo.sample.model.User">
select *
from user
<where>
<if test="name != null and name != ''">
and name = #{name}
</if>
</where>
</select>
四、测试
@Test
void test7(){
List
users.stream().forEach(System.out::println);
}
结果:
点击查看代码
==> Preparing: select * from user WHERE name = ?
==> Parameters: Jone(String)
<== Columns: ID, NAME, AGE, EMAIL
<== Row: 1, Jone, 18, [email protected]
<== Total: 1
五、更改Mapper里面方法入参
public interface UserMapper extends BaseMapper
List
// List
List<User> selectByXml(@Param("ew") Wrapper<User> queryWrapper);
}
<select id="selectByXml" resultType="com.example.mybatisplusdemo.sample.model.User">
select *
from user
${ew.customSqlSegment}
</select>
测试:
@Test
void test7(){
List<User> users = userMapper.selectByXml(new QueryWrapper<User>().eq("name","Jone"));
users.stream().forEach(System.out::println);
}
执行结果:
点击查看代码
==> Preparing: select * from user WHERE (name = ?)
==> Parameters: Jone(String)
<== Columns: ID, NAME, AGE, EMAIL
<== Row: 1, Jone, 18, [email protected]
<== Total: 1