MyBatis 动态 SQL
public class User{
private Integer id;
private String username;
private String password;
private Integer age; }
通过 id 和 username 查询 User。
通过 username 和 password 查询 User。
通过 password 和 age 查询 User。
在 UserRepository 中定义上述 3 个方法
public User findByUser1(User user);
public User findByUser2(User user);
public User findByUser3(User user);
UserRepository.xml
<select id="findByUser1" parameterType="User" resultType="User">
select * from t_user where id = #{id} and username = #{username}
</select> <select id="findByUser2" parameterType="User" resultType="User">
select * from t_user where username = #{username} and password = #{password}
</select> <select id="findByUser3" parameterType="User" resultType="User">
select * from t_user where password = #{password} and age = #{age}
</select>
MyBatis 动态 SQL,SQL 不是固定的,可以根据不同的参数信息来动态拼接不同的 SQL,以适应不同的需求。
1、创建实体类
public class User{
private Integer id;
private String username;
private String password;
private Integer age; }
2、Mapper.java
package com.southwind.repository;
import com.southwind.entity.User;
public interface UserRepository {
public User findByUser(User user);
}
3、Mapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="