Package org.apache.ibatis.type

Examples of org.apache.ibatis.type.TypeHandlerRegistry


          }
        }).build();
  }

  public static MappedStatement prepareSelectOneAuthorMappedStatementWithConstructorResults(final Configuration config) {
    final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
    MappedStatement ms = new MappedStatement.Builder(config, "selectAuthor", new StaticSqlSource(config,"SELECT * FROM author WHERE id = ?"), SqlCommandType.SELECT)
        .parameterMap(new ParameterMap.Builder(config, "defaultParameterMap", Author.class,
            new ArrayList<ParameterMapping>() {
              {
                add(new ParameterMapping.Builder(config, "id", registry.getTypeHandler(int.class)).build());
              }
            }).build())
        .resultMaps(new ArrayList<ResultMap>() {
          {
            add(new ResultMap.Builder(config, "defaultResultMap", Author.class, new ArrayList<ResultMapping>() {
              {
                add(new ResultMapping.Builder(config, null, "id", registry.getTypeHandler(Integer.class)).javaType(int.class).flags(new ArrayList<ResultFlag>() {
                  {
                    add(ResultFlag.CONSTRUCTOR);
                  }
                }).build());
                add(new ResultMapping.Builder(config, "username", "username", registry.getTypeHandler(String.class)).build());
                add(new ResultMapping.Builder(config, "password", "password", registry.getTypeHandler(String.class)).build());
                add(new ResultMapping.Builder(config, "email", "email", registry.getTypeHandler(String.class)).build());
                add(new ResultMapping.Builder(config, "bio", "bio", registry.getTypeHandler(String.class)).build());
                add(new ResultMapping.Builder(config, "favouriteSection", "favourite_section", registry.getTypeHandler(Section.class)).build());
              }
            }).build());
          }
        })
        .cache(authorCache)
View Full Code Here


        .build();
    return ms;
  }

  public static MappedStatement prepareSelectTwoSetsOfAuthorsProc(final Configuration config) {
    final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
    MappedStatement ms = new MappedStatement.Builder(config, "selectTwoSetsOfAuthors", new StaticSqlSource(config,"{call selectTwoSetsOfAuthors(?,?)}"), SqlCommandType.SELECT)
        .statementType(StatementType.CALLABLE)
        .parameterMap(new ParameterMap.Builder(
            config, "defaultParameterMap", Author.class,
            new ArrayList<ParameterMapping>() {
              {
                add(new ParameterMapping.Builder(config, "id1", registry.getTypeHandler(int.class)).build());
                add(new ParameterMapping.Builder(config, "id2", registry.getTypeHandler(int.class)).build());
              }
            }).build())
        .resultMaps(new ArrayList<ResultMap>() {
          {
            ResultMap map = new ResultMap.Builder(config, "defaultResultMap", Author.class, new ArrayList<ResultMapping>() {
              {
                add(new ResultMapping.Builder(config, "id", "id", registry.getTypeHandler(int.class)).build());
                add(new ResultMapping.Builder(config, "username", "username", registry.getTypeHandler(String.class)).build());
                add(new ResultMapping.Builder(config, "password", "password", registry.getTypeHandler(String.class)).build());
                add(new ResultMapping.Builder(config, "email", "email", registry.getTypeHandler(String.class)).build());
                add(new ResultMapping.Builder(config, "bio", "bio", registry.getTypeHandler(String.class)).build());
              }
            }).build();
            add(map);
            add(map);
          }
View Full Code Here

   */
  @Test
  public void shouldRetainColumnNameCase() throws Exception {

    final Configuration config = new Configuration();
    final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
    final MappedStatement ms = new MappedStatement.Builder(config, "testSelect", new StaticSqlSource(config, "some select statement"), SqlCommandType.SELECT).resultMaps(
        new ArrayList<ResultMap>() {
          {
            add(new ResultMap.Builder(config, "testMap", HashMap.class, new ArrayList<ResultMapping>() {
              {
                add(new ResultMapping.Builder(config, "cOlUmN1", "CoLuMn1", registry.getTypeHandler(Integer.class)).build());
              }
            }).build());
          }
        }).build();

View Full Code Here

        }).build();
    return ms;
  }

  public static MappedStatement prepareSelectAuthorViaOutParams(final Configuration config) {
    final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
    MappedStatement ms = new MappedStatement.Builder(config, "selectAuthorViaOutParams", new StaticSqlSource(config, "{call selectAuthorViaOutParams(?,?,?,?,?)}"), SqlCommandType.SELECT)
        .statementType(StatementType.CALLABLE)
        .parameterMap(new ParameterMap.Builder(config, "defaultParameterMap", Author.class,
            new ArrayList<ParameterMapping>() {
              {
                add(new ParameterMapping.Builder(config, "id", registry.getTypeHandler(int.class)).build());
                add(new ParameterMapping.Builder(config, "username", registry.getTypeHandler(String.class)).jdbcType(JdbcType.VARCHAR).mode(ParameterMode.OUT).build());
                add(new ParameterMapping.Builder(config, "password", registry.getTypeHandler(String.class)).jdbcType(JdbcType.VARCHAR).mode(ParameterMode.OUT).build());
                add(new ParameterMapping.Builder(config, "email", registry.getTypeHandler(String.class)).jdbcType(JdbcType.VARCHAR).mode(ParameterMode.OUT).build());
                add(new ParameterMapping.Builder(config, "bio", registry.getTypeHandler(String.class)).jdbcType(JdbcType.VARCHAR).mode(ParameterMode.OUT).build());
              }
            }).build())
        .resultMaps(new ArrayList<ResultMap>())
        .cache(authorCache).build();
    return ms;
View Full Code Here

        .cache(authorCache).build();
    return ms;
  }

  public static MappedStatement prepareSelectDiscriminatedPost(final Configuration config) {
    final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
    final ResultMap discriminatorResultMap = new ResultMap.Builder(config, "postResultMap", HashMap.class, new ArrayList<ResultMapping>() {
      {
        add(new ResultMapping.Builder(config, "subject", "subject", registry.getTypeHandler(String.class)).build());
        add(new ResultMapping.Builder(config, "body", "body", registry.getTypeHandler(String.class)).build());
      }
    }).build();
    config.addResultMap(discriminatorResultMap);
    MappedStatement ms = new MappedStatement.Builder(config, "selectPosts", new StaticSqlSource(config,"SELECT * FROM post"), SqlCommandType.SELECT)
        .resultMaps(new ArrayList<ResultMap>() {
          {
            add(new ResultMap.Builder(config, "defaultResultMap", HashMap.class, new ArrayList<ResultMapping>() {
              {
                add(new ResultMapping.Builder(config, "id", "id", registry.getTypeHandler(int.class)).build());
                add(new ResultMapping.Builder(config, "blog_id", "blog_id", registry.getTypeHandler(int.class)).build());
              }
            })
                .discriminator(new Discriminator.Builder(
                    config, new ResultMapping.Builder(config, "section", "section", registry.getTypeHandler(String.class)).build(),
                    new HashMap<String, String>() {
                      {
                        put("NEWS", discriminatorResultMap.getId());
                        put("VIDEOS", discriminatorResultMap.getId());
                        put("PODCASTS", discriminatorResultMap.getId());
View Full Code Here

        .build();
    return ms;
  }

  public static MappedStatement createSelectAuthorWithIDof99MappedStatement(final Configuration config) {
    final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
    MappedStatement ms = new MappedStatement.Builder(config, "selectAuthor", new StaticSqlSource(config,"SELECT * FROM author WHERE id = 99"), SqlCommandType.SELECT)
        .statementType(StatementType.STATEMENT)
        .parameterMap(new ParameterMap.Builder(config, "defaultParameterMap", Author.class, new ArrayList<ParameterMapping>()).build())
        .resultMaps(new ArrayList<ResultMap>() {
          {
            add(new ResultMap.Builder(config, "defaultResultMap", Author.class, new ArrayList<ResultMapping>() {
              {
                add(new ResultMapping.Builder(config, "id", "id", registry.getTypeHandler(int.class)).build());
                add(new ResultMapping.Builder(config, "username", "username", registry.getTypeHandler(String.class)).build());
                add(new ResultMapping.Builder(config, "password", "password", registry.getTypeHandler(String.class)).build());
                add(new ResultMapping.Builder(config, "email", "email", registry.getTypeHandler(String.class)).build());
                add(new ResultMapping.Builder(config, "bio", "bio", registry.getTypeHandler(String.class)).build());
              }
            }).build());
          }
        }).build();
    return ms;
View Full Code Here

        }).build();
    return ms;
  }

  public static MappedStatement prepareComplexSelectBlogMappedStatement(final Configuration config) {
    final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
    final SqlSource sqlSource = new StaticSqlSource(config, "SELECT b.id, b.author_id, b.title, a.username, a.password, a.email, a.bio" +
        " FROM blog b" +
        " INNER JOIN author a ON b.author_id = a.id" +
        " WHERE b.id = ?");
    final ParameterMap parameterMap = new ParameterMap.Builder(config, "defaultParameterMap", int.class,
        new ArrayList<ParameterMapping>() {
          {
            add(new ParameterMapping.Builder(config, "id", registry.getTypeHandler(int.class)).build());
          }
        }).build();
    final ResultMap resultMap = new ResultMap.Builder(config, "defaultResultMap", Blog.class, new ArrayList<ResultMapping>() {
      {
        add(new ResultMapping.Builder(config, "id", "id", registry.getTypeHandler(int.class))
            .flags(new ArrayList<ResultFlag>() {
              {
                add(ResultFlag.ID);
              }
            }).build());
        add(new ResultMapping.Builder(config, "title", "title", registry.getTypeHandler(String.class)).build());
        add(new ResultMapping.Builder(config, "author.id", "author_id", registry.getTypeHandler(int.class)).build());
        add(new ResultMapping.Builder(config, "author.username", "username", registry.getTypeHandler(String.class)).build());
        add(new ResultMapping.Builder(config, "author.password", "password", registry.getTypeHandler(String.class)).build());
        add(new ResultMapping.Builder(config, "author.email", "email", registry.getTypeHandler(String.class)).build());
        add(new ResultMapping.Builder(config, "author.bio", "bio", registry.getTypeHandler(String.class)).build());
        add(new ResultMapping.Builder(config, "posts", "id", registry.getTypeHandler(int.class)).javaType(List.class).nestedQueryId("selectPostsForBlog").build());
      }
    }).build();

    return new MappedStatement.Builder(config, "selectBlogById", sqlSource, SqlCommandType.SELECT)
        .parameterMap(parameterMap)
View Full Code Here

          }
        }).build();
  }

  public static MappedStatement prepareSelectBlogByIdAndAuthor(final Configuration config) {
    final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
    final SqlSource sqlSource = new StaticSqlSource(config,"SELECT b.id, b.author_id, b.title, a.username, a.password, a.email, a.bio" +
        " FROM blog b" +
        " INNER JOIN author a ON b.author_id = a.id" +
        " WHERE b.id = ? and a.id = ?");
    final ParameterMap parameterMap = new ParameterMap.Builder(config, "defaultParameterMap", Map.class,
        new ArrayList<ParameterMapping>() {
          {
            add(new ParameterMapping.Builder(config, "blogId", registry.getTypeHandler(int.class)).build());
            add(new ParameterMapping.Builder(config, "authorId", registry.getTypeHandler(int.class)).build());
          }
        }).build();
    final ResultMap resultMap = new ResultMap.Builder(config, "defaultResultMap", Blog.class, new ArrayList<ResultMapping>() {
      {
        add(new ResultMapping.Builder(config, "id", "id", registry.getTypeHandler(int.class))
            .flags(new ArrayList<ResultFlag>() {
              {
                add(ResultFlag.ID);
              }
            }).build());
        add(new ResultMapping.Builder(config, "title", "title", registry.getTypeHandler(String.class)).build());
        add(new ResultMapping.Builder(config, "author.id", "author_id", registry.getTypeHandler(int.class)).build());
        add(new ResultMapping.Builder(config, "author.username", "username", registry.getTypeHandler(String.class)).build());
        add(new ResultMapping.Builder(config, "author.password", "password", registry.getTypeHandler(String.class)).build());
        add(new ResultMapping.Builder(config, "author.email", "email", registry.getTypeHandler(String.class)).build());
        add(new ResultMapping.Builder(config, "author.bio", "bio", registry.getTypeHandler(String.class)).build());
        add(new ResultMapping.Builder(config, "posts", "id", registry.getTypeHandler(int.class)).javaType(List.class).nestedQueryId("selectPostsForBlog").build());
      }
    }).build();

    return new MappedStatement.Builder(config, "selectBlogByIdAndAuthor", sqlSource, SqlCommandType.SELECT)
        .parameterMap(parameterMap)
View Full Code Here

        }).build();

  }

  public static MappedStatement prepareSelectPostsForBlogMappedStatement(final Configuration config) {
    final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
    final SqlSource sqlSource = new StaticSqlSource(config,"SELECT p.id, p.created_on, p.blog_id, p.section, p.subject, p.body, pt.tag_id," +
        " t.name as tag_name, c.id as comment_id, c.name as comment_name, c.comment" +
        " FROM post p" +
        " INNER JOIN post_tag pt ON pt.post_id = p.id" +
        " INNER JOIN tag t ON pt.tag_id = t.id" +
        " LEFT OUTER JOIN comment c ON c.post_id = p.id" +
        " WHERE p.blog_id = ?");
    final ParameterMap parameterMap = new ParameterMap.Builder(config, "defaultParameterMap", Author.class,
        new ArrayList<ParameterMapping>() {
          {
            add(new ParameterMapping.Builder(config, "id", registry.getTypeHandler(int.class)).build());
          }
        }).build();
    final ResultMap tagResultMap = new ResultMap.Builder(config, "tagResultMap", Tag.class, new ArrayList<ResultMapping>() {
      {
        add(new ResultMapping.Builder(config, "id", "tag_id", registry.getTypeHandler(int.class))
            .flags(new ArrayList<ResultFlag>() {
              {
                add(ResultFlag.ID);
              }
            }).build());
        add(new ResultMapping.Builder(config, "name", "tag_name", registry.getTypeHandler(String.class)).build());
      }
    }).build();
    final ResultMap commentResultMap = new ResultMap.Builder(config, "commentResultMap", Comment.class, new ArrayList<ResultMapping>() {
      {
        add(new ResultMapping.Builder(config, "id", "comment_id", registry.getTypeHandler(int.class))
            .flags(new ArrayList<ResultFlag>() {
              {
                add(ResultFlag.ID);
              }
            }).build());
        add(new ResultMapping.Builder(config, "name", "comment_name", registry.getTypeHandler(String.class)).build());
        add(new ResultMapping.Builder(config, "comment", "comment", registry.getTypeHandler(String.class)).build());
      }
    }).build();
    config.addResultMap(tagResultMap);
    config.addResultMap(commentResultMap);
    final ResultMap postResultMap = new ResultMap.Builder(config, "defaultResultMap", Post.class, new ArrayList<ResultMapping>() {
      {
        add(new ResultMapping.Builder(config, "id", "id", registry.getTypeHandler(int.class))
            .flags(new ArrayList<ResultFlag>() {
              {
                add(ResultFlag.ID);
              }
            }).build());
        add(new ResultMapping.Builder(config, "blog", "blog_id", registry.getTypeHandler(int.class)).javaType(Blog.class).nestedQueryId("selectBlogById").build());
        add(new ResultMapping.Builder(config, "createdOn", "created_on", registry.getTypeHandler(Date.class)).build());
        add(new ResultMapping.Builder(config, "section", "section", registry.getTypeHandler(Section.class)).build());
        add(new ResultMapping.Builder(config, "subject", "subject", registry.getTypeHandler(String.class)).build());
        add(new ResultMapping.Builder(config, "body", "body", registry.getTypeHandler(String.class)).build());
        add(new ResultMapping.Builder(config, "tags").nestedResultMapId(tagResultMap.getId()).build());
        add(new ResultMapping.Builder(config, "comments").nestedResultMapId(commentResultMap.getId()).build());
      }
    }).build();
    return new MappedStatement.Builder(config, "selectPostsForBlog", sqlSource, SqlCommandType.SELECT)
View Full Code Here

          }
        }).build();
  }

  public static MappedStatement prepareSelectPostMappedStatement(final Configuration config) {
    final TypeHandlerRegistry registry = config.getTypeHandlerRegistry();
    final SqlSource sqlSource = new StaticSqlSource(config,"SELECT p.id, p.created_on, p.blog_id, p.section, p.subject, p.body, pt.tag_id," +
        " t.name as tag_name, c.id as comment_id, c.name as comment_name, c.comment" +
        " FROM post p" +
        " LEFT OUTER JOIN post_tag pt ON pt.post_id = p.id" +
        " LEFT OUTER JOIN tag t ON pt.tag_id = t.id" +
        " LEFT OUTER JOIN comment c ON c.post_id = p.id" +
        " WHERE p.id = ?");
    final ParameterMap parameterMap = new ParameterMap.Builder(config, "defaultParameterMap", Author.class,
        new ArrayList<ParameterMapping>() {
          {
            add(new ParameterMapping.Builder(config, "id", registry.getTypeHandler(int.class)).build());
          }
        }).build();
    final ResultMap tagResultMap = new ResultMap.Builder(config, "tagResultMap", Tag.class, new ArrayList<ResultMapping>() {
      {
        add(new ResultMapping.Builder(config, "id", "tag_id", registry.getTypeHandler(int.class))
            .flags(new ArrayList<ResultFlag>() {
              {
                add(ResultFlag.ID);
              }
            }).build());
        add(new ResultMapping.Builder(config, "name", "tag_name", registry.getTypeHandler(String.class)).build());
      }
    }).build();
    final ResultMap commentResultMap = new ResultMap.Builder(config, "commentResultMap", Comment.class, new ArrayList<ResultMapping>() {
      {
        add(new ResultMapping.Builder(config, "id", "comment_id", registry.getTypeHandler(int.class))
            .flags(new ArrayList<ResultFlag>() {
              {
                add(ResultFlag.ID);
              }
            }).build());
        add(new ResultMapping.Builder(config, "name", "comment_name", registry.getTypeHandler(String.class)).build());
        add(new ResultMapping.Builder(config, "comment", "comment", registry.getTypeHandler(String.class)).build());
      }
    }).build();
    config.addResultMap(tagResultMap);
    config.addResultMap(commentResultMap);
    final ResultMap postResultMap = new ResultMap.Builder(config, "", Post.class, new ArrayList<ResultMapping>() {
      {
        add(new ResultMapping.Builder(config, "id", "id", registry.getTypeHandler(int.class))
            .flags(new ArrayList<ResultFlag>() {
              {
                add(ResultFlag.ID);
              }
            }).build());
        add(new ResultMapping.Builder(config, "blog", "blog_id", registry.getTypeHandler(int.class)).javaType(Blog.class).nestedQueryId("selectBlogById").build());
        add(new ResultMapping.Builder(config, "createdOn", "created_on", registry.getTypeHandler(Date.class)).build());
        add(new ResultMapping.Builder(config, "section", "section", registry.getTypeHandler(Section.class)).build());
        add(new ResultMapping.Builder(config, "subject", "subject", registry.getTypeHandler(String.class)).build());
        add(new ResultMapping.Builder(config, "body", "body", registry.getTypeHandler(String.class)).build());
        add(new ResultMapping.Builder(config, "tags").nestedResultMapId(tagResultMap.getId()).build());
        add(new ResultMapping.Builder(config, "comments").nestedResultMapId(commentResultMap.getId()).build());
      }
    }).build();
View Full Code Here

TOP

Related Classes of org.apache.ibatis.type.TypeHandlerRegistry

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.