You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
2.2 KiB
46 lines
2.2 KiB
package com.example.sbcamel.mapper;
|
|
|
|
import java.util.Collection;
|
|
import java.util.UUID;
|
|
|
|
import org.apache.ibatis.annotations.Insert;
|
|
import org.apache.ibatis.annotations.Result;
|
|
import org.apache.ibatis.annotations.Results;
|
|
import org.apache.ibatis.annotations.Select;
|
|
import org.apache.ibatis.type.JdbcType;
|
|
|
|
import com.example.sbcamel.service.Session;
|
|
import com.example.sbcamel.service.UuidTypeHandler;
|
|
|
|
public interface SessionMapper {
|
|
|
|
@Insert({ "<script>",
|
|
"MERGE INTO public.session (sessionId, username, password, selector1, selector2, selector3) KEY (sessionId) VALUES (#{sessionId, javaType=java.util.UUID, "
|
|
+ "jdbcType=OTHER, typeHandler=com.example.sbcamel.service.UuidTypeHandler}, #{username}, #{password}, #{selector1}, #{selector2}, #{selector3}) ",
|
|
"</script>" })
|
|
int updateSession(Session session);
|
|
|
|
@Results({
|
|
@Result(property = "sessionId", column = "sessionId", javaType = UUID.class, jdbcType = JdbcType.OTHER, typeHandler = UuidTypeHandler.class),
|
|
@Result(property = "username", column = "username"), @Result(property = "password", column = "password"),
|
|
@Result(property = "selector1", column = "selector1"),
|
|
@Result(property = "selector2", column = "selector2"),
|
|
@Result(property = "selector3", column = "selector3") })
|
|
@Select({ "<script>",
|
|
"select sessionId, username, password, selector1, selector2, selector3 from public.session where sessionId=#{list[0], javaType=java.util.UUID, "
|
|
+ "jdbcType=OTHER, typeHandler=com.example.sbcamel.service.UuidTypeHandler}",
|
|
"</script>" })
|
|
Session findSession(UUID sessionId);
|
|
|
|
@Results({
|
|
@Result(property = "sessionId", column = "sessionId", javaType = UUID.class, jdbcType = JdbcType.OTHER, typeHandler = UuidTypeHandler.class),
|
|
@Result(property = "username", column = "username"), @Result(property = "password", column = "password"),
|
|
@Result(property = "selector1", column = "selector1"),
|
|
@Result(property = "selector2", column = "selector2"),
|
|
@Result(property = "selector3", column = "selector3") })
|
|
@Select({ "<script>",
|
|
"select sessionId, username, password, selector1, selector2, selector3 from public.session order by sessionId",
|
|
"</script>" })
|
|
Collection<Session> findSessions();
|
|
}
|