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

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();
}