springboot 와 my batis 통합:매개 변수 조회 와 동적 sql
mapper 는 데이터베이스 의 조작 방법 을 정의 합 니 다:
@Mapper
public interface UserMapper {
}
단일 매개 변수 처리:
@Select("select * from t_user")
@Results({
@Result(property = "userId", column = "USER_ID"),
@Result(property = "username", column = "USERNAME"),
@Result(property = "password", column = "PASSWORD"),
@Result(property = "mobileNum", column = "PHONE_NUM")
})
List<User> list();
다 중 매개 변수 처리:
/**
* : , , @Param , EL 。
*/
@Select("select * from t_user where username like #{username} and password like #{password}")
@Results({
@Result(property = "userId", column = "USER_ID"),
@Result(property = "username", column = "USERNAME"),
@Result(property = "password", column = "PASSWORD"),
@Result(property = "mobileNum", column = "PHONE_NUM")
})
User get(@Param("username") String username, @Param("password") String password);
CRUD 의 고급 주석:
@SelectProvider @InsertProvider @UpdateProvider @DeleteProvider
먼저 mapper 에서 Provider 를 정의 합 니 다.Provider 란 사용자 정의 sql 문 구 를 정의 합 니 다.규칙 은 사용자 정의 할 수 있 습 니 다.
public class UserSqlProvider {
/**
* 1: , SQL。
*/
public String listByUsername(String username) {
return "select * from t_user where username =#{username}";
}
}
그리고 이 sql 문 구 를 사용 하 는 방법 을 정의 합 니 다.대응 하 는 mapper 에서 작 동 합 니 다.
/**
* 2: SQL.
*/
@SelectProvider(type = UserSqlProvider.class, method = "listByUsername")
@Results({
@Result(property = "userId", column = "USER_ID"),
@Result(property = "username", column = "USERNAME"),
@Result(property = "password", column = "PASSWORD"),
@Result(property = "mobileNum", column = "PHONE_NUM")
})
List<User> listByUsername(String username);
controller 에서 사용:
@GetMapping("list/{username}")
public List<User> listByUsername(@PathVariable("username") String username) {
return userMapper.listByUsername(username);
}
another samples:
UserSqlProvider.java
/**
* 2: API SQL。
*/
public String getBadUser(@Param("username") String username, @Param("password") String password) {
return new SQL() {
{
SELECT("*");
FROM("t_user");
if (username != null && password != null) {
WHERE("username like #{username} and password like #{password}");
} else {
WHERE("1=2");
}
}}.toString();
}
UserMapper.java
@SelectProvider(type = UserSqlProvider.class, method = "getBadUser")
@Results({
@Result(property = "userId", column = "USER_ID"),
@Result(property = "username", column = "USERNAME"),
@Result(property = "password", column = "PASSWORD"),
@Result(property = "mobileNum", column = "PHONE_NUM")
})
User getBadUser(@Param("username") String username, @Param("password") String password);
UserController.java
@GetMapping("get/bad/{username}/{password}")
public User getBadUser(@PathVariable("username") String username, @PathVariable("password") String password) {
return userMapper.getBadUser(username, password);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.