Search in sources :

Example 21 with Author

use of org.apache.ibatis.domain.blog.Author in project mybatis-3 by mybatis.

the class SqlSessionManagerTest method shouldImplicitlyRollbackInsertedAuthor.

@Test
public void shouldImplicitlyRollbackInsertedAuthor() throws Exception {
    manager.startManagedSession();
    AuthorMapper mapper = manager.getMapper(AuthorMapper.class);
    Author expected = new Author(502, "emacarron", "******", "emacarron@somewhere.com", "Something...", null);
    mapper.insertAuthor(expected);
    manager.close();
    Author actual = mapper.selectAuthor(502);
    assertNull(actual);
}
Also used : AuthorMapper(org.apache.ibatis.domain.blog.mappers.AuthorMapper) Author(org.apache.ibatis.domain.blog.Author) BaseDataTest(org.apache.ibatis.BaseDataTest) Test(org.junit.Test)

Example 22 with Author

use of org.apache.ibatis.domain.blog.Author in project mybatis-3 by mybatis.

the class SqlSessionTest method shouldSelectNestedBlogWithPostsAndAuthorUsingJoin.

@Test
public void shouldSelectNestedBlogWithPostsAndAuthorUsingJoin() throws Exception {
    SqlSession session = sqlMapper.openSession();
    try {
        Blog blog = session.selectOne("org.apache.ibatis.domain.blog.mappers.NestedBlogMapper.selectBlogJoinedWithPostsAndAuthor", 1);
        assertEquals("Jim Business", blog.getTitle());
        final Author author = blog.getAuthor();
        assertEquals(101, author.getId());
        assertEquals("jim", author.getUsername());
        final List<Post> posts = blog.getPosts();
        assertEquals(2, posts.size());
        final Post post = blog.getPosts().get(0);
        assertEquals(1, post.getId());
        assertEquals("Corn nuts", post.getSubject());
        final List<Comment> comments = post.getComments();
        assertEquals(2, comments.size());
        final List<Tag> tags = post.getTags();
        assertEquals(3, tags.size());
        final Comment comment = comments.get(0);
        assertEquals(1, comment.getId());
        assertEquals(DraftPost.class, blog.getPosts().get(0).getClass());
        assertEquals(Post.class, blog.getPosts().get(1).getClass());
    } finally {
        session.close();
    }
}
Also used : Comment(org.apache.ibatis.domain.blog.Comment) DraftPost(org.apache.ibatis.domain.blog.DraftPost) Post(org.apache.ibatis.domain.blog.Post) ImmutableAuthor(org.apache.ibatis.domain.blog.ImmutableAuthor) Author(org.apache.ibatis.domain.blog.Author) Tag(org.apache.ibatis.domain.blog.Tag) Blog(org.apache.ibatis.domain.blog.Blog) BaseDataTest(org.apache.ibatis.BaseDataTest) Test(org.junit.Test)

Example 23 with Author

use of org.apache.ibatis.domain.blog.Author in project mybatis-3 by mybatis.

the class SqlSessionTest method shouldSelectAuthorsUsingMapperClass.

@Test
public void shouldSelectAuthorsUsingMapperClass() {
    SqlSession session = sqlMapper.openSession();
    try {
        AuthorMapper mapper = session.getMapper(AuthorMapper.class);
        List<Author> authors = mapper.selectAllAuthors();
        assertEquals(2, authors.size());
    } finally {
        session.close();
    }
}
Also used : AuthorMapper(org.apache.ibatis.domain.blog.mappers.AuthorMapper) ImmutableAuthor(org.apache.ibatis.domain.blog.ImmutableAuthor) Author(org.apache.ibatis.domain.blog.Author) BaseDataTest(org.apache.ibatis.BaseDataTest) Test(org.junit.Test)

Example 24 with Author

use of org.apache.ibatis.domain.blog.Author in project mybatis-3 by mybatis.

the class SqlSessionTest method shouldUpdateAuthorIfNecessary.

@Test
public void shouldUpdateAuthorIfNecessary() throws Exception {
    SqlSession session = sqlMapper.openSession();
    Author original;
    Author updated;
    try {
        original = session.selectOne("org.apache.ibatis.domain.blog.mappers.AuthorMapper.selectAuthor", 101);
        original.setEmail("new@email.com");
        original.setBio(null);
        int updates = session.update("org.apache.ibatis.domain.blog.mappers.AuthorMapper.updateAuthorIfNecessary", original);
        assertEquals(1, updates);
        updated = session.selectOne("org.apache.ibatis.domain.blog.mappers.AuthorMapper.selectAuthor", 101);
        assertEquals(original.getEmail(), updated.getEmail());
        session.commit();
    } finally {
        session.close();
    }
    try {
        session = sqlMapper.openSession();
        updated = session.selectOne("org.apache.ibatis.domain.blog.mappers.AuthorMapper.selectAuthor", 101);
        assertEquals(original.getEmail(), updated.getEmail());
    } finally {
        session.close();
    }
}
Also used : ImmutableAuthor(org.apache.ibatis.domain.blog.ImmutableAuthor) Author(org.apache.ibatis.domain.blog.Author) BaseDataTest(org.apache.ibatis.BaseDataTest) Test(org.junit.Test)

Example 25 with Author

use of org.apache.ibatis.domain.blog.Author in project mybatis-3 by mybatis.

the class SqlSessionTest method shouldInsertAuthor.

@Test
public void shouldInsertAuthor() throws Exception {
    SqlSession session = sqlMapper.openSession();
    try {
        Author expected = new Author(500, "cbegin", "******", "cbegin@somewhere.com", "Something...", null);
        int updates = session.insert("org.apache.ibatis.domain.blog.mappers.AuthorMapper.insertAuthor", expected);
        assertEquals(1, updates);
        Author actual = session.selectOne("org.apache.ibatis.domain.blog.mappers.AuthorMapper.selectAuthor", new Author(500));
        assertNotNull(actual);
        assertEquals(expected.getId(), actual.getId());
        assertEquals(expected.getUsername(), actual.getUsername());
        assertEquals(expected.getPassword(), actual.getPassword());
        assertEquals(expected.getEmail(), actual.getEmail());
        assertEquals(expected.getBio(), actual.getBio());
    } finally {
        session.close();
    }
}
Also used : ImmutableAuthor(org.apache.ibatis.domain.blog.ImmutableAuthor) Author(org.apache.ibatis.domain.blog.Author) BaseDataTest(org.apache.ibatis.BaseDataTest) Test(org.junit.Test)

Aggregations

Author (org.apache.ibatis.domain.blog.Author)70 Test (org.junit.Test)68 BaseDataTest (org.apache.ibatis.BaseDataTest)45 ImmutableAuthor (org.apache.ibatis.domain.blog.ImmutableAuthor)20 MappedStatement (org.apache.ibatis.mapping.MappedStatement)14 AuthorMapper (org.apache.ibatis.domain.blog.mappers.AuthorMapper)13 DefaultObjectFactory (org.apache.ibatis.reflection.factory.DefaultObjectFactory)13 JdbcTransaction (org.apache.ibatis.transaction.jdbc.JdbcTransaction)12 ArrayList (java.util.ArrayList)8 Configuration (org.apache.ibatis.session.Configuration)7 SqlSession (org.apache.ibatis.session.SqlSession)7 HashMap (java.util.HashMap)4 Blog (org.apache.ibatis.domain.blog.Blog)3 DraftPost (org.apache.ibatis.domain.blog.DraftPost)3 Post (org.apache.ibatis.domain.blog.Post)3 StaticSqlSource (org.apache.ibatis.builder.StaticSqlSource)2 Comment (org.apache.ibatis.domain.blog.Comment)2 Section (org.apache.ibatis.domain.blog.Section)2 Tag (org.apache.ibatis.domain.blog.Tag)2 CglibProxyFactory (org.apache.ibatis.executor.loader.cglib.CglibProxyFactory)2