org.apache.ibatis.annotations.Result
定义数据库的列和Java的属性之间的映射。
org.apache.ibatis.annotations.Results
将一系列的数据库的列和Java的属性之间的映射组合成一组。
例如,java的mapper文件接口定义,用Results和Result注解,定义了User类的属性和数据库列的映射:
package com.thb.mapper;
import java.util.List;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.jdbc.SQL;
import com.thb.model.User;
public interface UserMapper {
@Results(value = {
@Result(property = "id", column = "id", id = true),
@Result(property = "userName", column = "user_name"),
@Result(property = "homeTown", column = "home_town")
})
@SelectProvider(type = UserSqlBuilder.class, method = "selectManyUsers")
List<User> selectManyUsers();
public static class UserSqlBuilder {
public static String selectManyUsers() {
return new SQL() {{
SELECT("id, user_name, home_town");
FROM("user");
}}.toString();
}
}
}
User类的定义:
package com.thb.model;
public class User {
private int id;
private String userName;
private String homeTown;
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName() {
return this.userName;
}
public void setUserName(String name) {
this.userName = name;
}
public String getHomeTown () {
return this.homeTown;
}
public void setHomeTown(String hometown) {
this.homeTown = hometown;
}
}