Search in sources :

Example 21 with MyObjectMapper

use of mbg.test.mb3.generated.annotated.miscellaneous.mapper.MyObjectMapper in project generator by mybatis.

the class MiscellaneousTest method testMyObjectUpdateByPrimaryKeySelective.

@Test
public void testMyObjectUpdateByPrimaryKeySelective() {
    SqlSession sqlSession = sqlSessionFactory.openSession();
    try {
        MyObjectMapper mapper = sqlSession.getMapper(MyObjectMapper.class);
        MyObject record = new MyObject();
        FirstName fn = new FirstName();
        fn.setValue("Jeff");
        record.setFirstname(fn);
        record.setLastname("Smith");
        record.setDecimal60field(5);
        record.setId1(1);
        record.setId2(2);
        mapper.insert(record);
        MyObject newRecord = new MyObject();
        newRecord.setId1(1);
        newRecord.setId2(2);
        fn = new FirstName();
        fn.setValue("Scott");
        newRecord.setFirstname(fn);
        record.setStartDate(new Date());
        int rows = mapper.updateByPrimaryKeySelective(newRecord);
        assertEquals(1, rows);
        MyObjectKey key = new MyObjectKey();
        key.setId1(1);
        key.setId2(2);
        MyObject returnedRecord = mapper.selectByPrimaryKey(key);
        assertTrue(datesAreEqual(newRecord.getStartDate(), returnedRecord.getStartDate()));
        assertEquals(record.getDecimal100field(), returnedRecord.getDecimal100field());
        assertEquals(record.getDecimal155field(), returnedRecord.getDecimal155field());
        // with columns mapped to primitive types, the column is always
        // updated
        assertEquals(newRecord.getDecimal60field(), returnedRecord.getDecimal60field());
        assertEquals(newRecord.getFirstname(), returnedRecord.getFirstname());
        assertEquals(record.getId1(), returnedRecord.getId1());
        assertEquals(record.getId2(), returnedRecord.getId2());
        assertEquals(record.getLastname(), returnedRecord.getLastname());
        assertEquals(record.getTimefield(), returnedRecord.getTimefield());
        assertEquals(record.getTimestampfield(), returnedRecord.getTimestampfield());
    } finally {
        sqlSession.close();
    }
}
Also used : SqlSession(org.apache.ibatis.session.SqlSession) FirstName(mbg.test.common.FirstName) MyObject(mbg.test.mb3.generated.annotated.miscellaneous.model.MyObject) MyObjectKey(mbg.test.mb3.generated.annotated.miscellaneous.model.MyObjectKey) MyObjectMapper(mbg.test.mb3.generated.annotated.miscellaneous.mapper.MyObjectMapper) Date(java.util.Date) Test(org.junit.jupiter.api.Test)

Example 22 with MyObjectMapper

use of mbg.test.mb3.generated.annotated.miscellaneous.mapper.MyObjectMapper in project generator by mybatis.

the class MiscellaneousTest method testMyObjectSelectByExampleLike.

@Test
public void testMyObjectSelectByExampleLike() {
    SqlSession sqlSession = sqlSessionFactory.openSession();
    try {
        MyObjectMapper mapper = sqlSession.getMapper(MyObjectMapper.class);
        MyObject record = new MyObject();
        FirstName fn = new FirstName();
        fn.setValue("Fred");
        record.setFirstname(fn);
        record.setLastname("Flintstone");
        record.setId1(1);
        record.setId2(1);
        mapper.insert(record);
        record = new MyObject();
        fn = new FirstName();
        fn.setValue("Wilma");
        record.setFirstname(fn);
        record.setLastname("Flintstone");
        record.setId1(1);
        record.setId2(2);
        mapper.insert(record);
        record = new MyObject();
        fn = new FirstName();
        fn.setValue("Pebbles");
        record.setFirstname(fn);
        record.setLastname("Flintstone");
        record.setId1(1);
        record.setId2(3);
        mapper.insert(record);
        record = new MyObject();
        fn = new FirstName();
        fn.setValue("Barney");
        record.setFirstname(fn);
        record.setLastname("Rubble");
        record.setId1(2);
        record.setId2(1);
        mapper.insert(record);
        record = new MyObject();
        fn = new FirstName();
        fn.setValue("Betty");
        record.setFirstname(fn);
        record.setLastname("Rubble");
        record.setId1(2);
        record.setId2(2);
        mapper.insert(record);
        record = new MyObject();
        fn = new FirstName();
        fn.setValue("Bamm Bamm");
        record.setFirstname(fn);
        record.setLastname("Rubble");
        record.setId1(2);
        record.setId2(3);
        mapper.insert(record);
        MyObjectCriteria example = new MyObjectCriteria();
        fn = new FirstName();
        fn.setValue("B%");
        example.createCriteria().andFirstnameLike(fn);
        example.setOrderByClause("ID1, ID2");
        List<MyObject> answer = mapper.selectByExample(example);
        assertEquals(3, answer.size());
        MyObject returnedRecord = answer.get(0);
        assertEquals(2, returnedRecord.getId1().intValue());
        assertEquals(1, returnedRecord.getId2().intValue());
        returnedRecord = answer.get(1);
        assertEquals(2, returnedRecord.getId1().intValue());
        assertEquals(2, returnedRecord.getId2().intValue());
        returnedRecord = answer.get(2);
        assertEquals(2, returnedRecord.getId1().intValue());
        assertEquals(3, returnedRecord.getId2().intValue());
    } finally {
        sqlSession.close();
    }
}
Also used : SqlSession(org.apache.ibatis.session.SqlSession) FirstName(mbg.test.common.FirstName) MyObject(mbg.test.mb3.generated.annotated.miscellaneous.model.MyObject) MyObjectMapper(mbg.test.mb3.generated.annotated.miscellaneous.mapper.MyObjectMapper) MyObjectCriteria(mbg.test.mb3.generated.annotated.miscellaneous.model.MyObjectCriteria) Test(org.junit.jupiter.api.Test)

Example 23 with MyObjectMapper

use of mbg.test.mb3.generated.annotated.miscellaneous.mapper.MyObjectMapper in project generator by mybatis.

the class MiscellaneousTest method testMyObjectUpdateByExample.

@Test
public void testMyObjectUpdateByExample() {
    SqlSession sqlSession = sqlSessionFactory.openSession();
    try {
        MyObjectMapper mapper = sqlSession.getMapper(MyObjectMapper.class);
        MyObject record = new MyObject();
        FirstName fn = new FirstName();
        fn.setValue("Jeff");
        record.setFirstname(fn);
        record.setLastname("Smith");
        record.setId1(1);
        record.setId2(2);
        mapper.insert(record);
        record = new MyObject();
        fn = new FirstName();
        fn.setValue("Bob");
        record.setFirstname(fn);
        record.setLastname("Jones");
        record.setId1(3);
        record.setId2(4);
        mapper.insert(record);
        MyObject newRecord = new MyObject();
        newRecord.setLastname("Barker");
        newRecord.setId1(3);
        newRecord.setId2(4);
        MyObjectCriteria example = new MyObjectCriteria();
        example.createCriteria().andId1EqualTo(3).andId2EqualTo(4);
        int rows = mapper.updateByExample(newRecord, example);
        assertEquals(1, rows);
        List<MyObject> answer = mapper.selectByExample(example);
        assertEquals(1, answer.size());
        MyObject returnedRecord = answer.get(0);
        assertEquals(newRecord.getLastname(), returnedRecord.getLastname());
        assertNull(returnedRecord.getFirstname());
        assertEquals(newRecord.getId1(), returnedRecord.getId1());
        assertEquals(newRecord.getId2(), returnedRecord.getId2());
    } finally {
        sqlSession.close();
    }
}
Also used : SqlSession(org.apache.ibatis.session.SqlSession) FirstName(mbg.test.common.FirstName) MyObject(mbg.test.mb3.generated.annotated.miscellaneous.model.MyObject) MyObjectMapper(mbg.test.mb3.generated.annotated.miscellaneous.mapper.MyObjectMapper) MyObjectCriteria(mbg.test.mb3.generated.annotated.miscellaneous.model.MyObjectCriteria) Test(org.junit.jupiter.api.Test)

Example 24 with MyObjectMapper

use of mbg.test.mb3.generated.annotated.miscellaneous.mapper.MyObjectMapper in project generator by mybatis.

the class MiscellaneousTest method testMyObjectDeleteByExample.

@Test
public void testMyObjectDeleteByExample() {
    SqlSession sqlSession = sqlSessionFactory.openSession();
    try {
        MyObjectMapper mapper = sqlSession.getMapper(MyObjectMapper.class);
        MyObject record = new MyObject();
        FirstName fn = new FirstName();
        fn.setValue("Jeff");
        record.setFirstname(fn);
        record.setLastname("Smith");
        record.setId1(1);
        record.setId2(2);
        mapper.insert(record);
        record = new MyObject();
        fn = new FirstName();
        fn.setValue("Bob");
        record.setFirstname(fn);
        record.setLastname("Jones");
        record.setId1(3);
        record.setId2(4);
        mapper.insert(record);
        MyObjectCriteria example = new MyObjectCriteria();
        List<MyObject> answer = mapper.selectByExample(example);
        assertEquals(2, answer.size());
        example = new MyObjectCriteria();
        example.createCriteria().andLastnameLike("J%");
        int rows = mapper.deleteByExample(example);
        assertEquals(1, rows);
        example = new MyObjectCriteria();
        answer = mapper.selectByExample(example);
        assertEquals(1, answer.size());
    } finally {
        sqlSession.close();
    }
}
Also used : SqlSession(org.apache.ibatis.session.SqlSession) FirstName(mbg.test.common.FirstName) MyObject(mbg.test.mb3.generated.annotated.miscellaneous.model.MyObject) MyObjectMapper(mbg.test.mb3.generated.annotated.miscellaneous.mapper.MyObjectMapper) MyObjectCriteria(mbg.test.mb3.generated.annotated.miscellaneous.model.MyObjectCriteria) Test(org.junit.jupiter.api.Test)

Example 25 with MyObjectMapper

use of mbg.test.mb3.generated.annotated.miscellaneous.mapper.MyObjectMapper in project generator by mybatis.

the class MiscellaneousTest method testMyObjectUpdateByPrimaryKeySelective.

@Test
public void testMyObjectUpdateByPrimaryKeySelective() {
    try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
        MyObjectMapper mapper = sqlSession.getMapper(MyObjectMapper.class);
        MyObject record = new MyObject();
        FirstName fn = new FirstName();
        fn.setValue("Jeff");
        record.setFirstname(fn);
        record.setLastname("Smith");
        record.setDecimal60field(5);
        record.setId1(1);
        record.setId2(2);
        mapper.insert(record);
        MyObject newRecord = new MyObject();
        newRecord.setId1(1);
        newRecord.setId2(2);
        fn = new FirstName();
        fn.setValue("Scott");
        newRecord.setFirstname(fn);
        record.setStartDate(new Date());
        int rows = mapper.updateByPrimaryKeySelective(newRecord);
        assertEquals(1, rows);
        Optional<MyObject> returnedRecord = mapper.selectByPrimaryKey(2, 1);
        assertThat(returnedRecord).hasValueSatisfying(rr -> {
            assertTrue(datesAreEqual(newRecord.getStartDate(), rr.getStartDate()));
            assertEquals(record.getDecimal100field(), rr.getDecimal100field());
            assertEquals(record.getDecimal155field(), rr.getDecimal155field());
            // with columns mapped to primitive types, the column is always
            // updated
            assertEquals(newRecord.getDecimal60field(), rr.getDecimal60field());
            assertEquals(newRecord.getFirstname(), rr.getFirstname());
            assertEquals(record.getId1(), rr.getId1());
            assertEquals(record.getId2(), rr.getId2());
            assertEquals(record.getLastname(), rr.getLastname());
            assertEquals(record.getTimefield(), rr.getTimefield());
            assertEquals(record.getTimestampfield(), rr.getTimestampfield());
        });
    }
}
Also used : SqlSession(org.apache.ibatis.session.SqlSession) FirstName(mbg.test.common.FirstName) MyObject(mbg.test.mb3.generated.dsql.miscellaneous.model.MyObject) MyObjectMapper(mbg.test.mb3.generated.dsql.miscellaneous.mapper.MyObjectMapper) Date(java.util.Date) Test(org.junit.jupiter.api.Test)

Aggregations

FirstName (mbg.test.common.FirstName)45 SqlSession (org.apache.ibatis.session.SqlSession)45 Test (org.junit.jupiter.api.Test)45 MyObjectMapper (mbg.test.mb3.generated.annotated.miscellaneous.mapper.MyObjectMapper)15 MyObject (mbg.test.mb3.generated.annotated.miscellaneous.model.MyObject)15 MyObjectMapper (mbg.test.mb3.generated.dsql.miscellaneous.mapper.MyObjectMapper)15 MyObject (mbg.test.mb3.generated.dsql.miscellaneous.model.MyObject)15 MyObjectMapper (mbg.test.mb3.generated.mixed.miscellaneous.mapper.MyObjectMapper)15 MyObject (mbg.test.mb3.generated.mixed.miscellaneous.model.MyObject)15 MyObjectCriteria (mbg.test.mb3.generated.annotated.miscellaneous.model.MyObjectCriteria)11 MyObjectCriteria (mbg.test.mb3.generated.mixed.miscellaneous.model.MyObjectCriteria)11 Date (java.util.Date)10 MyTime (mbg.test.common.MyTime)7 MyObjectKey (mbg.test.mb3.generated.annotated.miscellaneous.model.MyObjectKey)5 MyObjectKey (mbg.test.mb3.generated.mixed.miscellaneous.model.MyObjectKey)5 ArrayList (java.util.ArrayList)4 Collection (java.util.Collection)1 List (java.util.List)1 Optional (java.util.Optional)1 TestUtilities.datesAreEqual (mbg.test.common.util.TestUtilities.datesAreEqual)1