Search in sources :

Example 6 with BadBoy

use of jodd.db.oom.tst.BadBoy in project jodd by oblac.

the class DbSqlTemplateTest method testTables.

@Test
public void testTables() {
    DbSqlBuilder st;
    // 1
    st = sql("$T{Boy}");
    assertEquals("BOY", st.generateQuery());
    st = sql("$T{BadBoy}");
    assertEquals("BOY", st.generateQuery());
    st = sql("$T{Boy b}");
    assertEquals("BOY b", st.generateQuery());
    st = sql("$T{BadBoy b}");
    assertEquals("BOY b", st.generateQuery());
    // 2
    st = sql("$T{b}").use("b", new Boy());
    assertEquals("BOY", st.generateQuery());
    st = sql("$T{b b}").use("b", new Boy());
    assertEquals("BOY b", st.generateQuery());
    st = sql("$T{b}").use("b", new BadBoy());
    assertEquals("BOY", st.generateQuery());
    // 3
    st = sql("$T{b}").use("b", Boy.class);
    assertEquals("BOY", st.generateQuery());
    st = sql("$T{b}").use("b", BadBoy.class);
    assertEquals("BOY", st.generateQuery());
}
Also used : BadBoy(jodd.db.oom.tst.BadBoy) DbSqlBuilder(jodd.db.oom.sqlgen.DbSqlBuilder) Boy(jodd.db.oom.tst.Boy) BadBoy(jodd.db.oom.tst.BadBoy) Test(org.junit.Test)

Example 7 with BadBoy

use of jodd.db.oom.tst.BadBoy in project jodd by oblac.

the class DbSqlTemplateTest method testColumns3.

@Test
public void testColumns3() {
    DbSqlBuilder st;
    st = sql("$C{b.id,b.name} from $T{b b}").use("b", Boy.class);
    assertEquals("b.ID, b.NAME from BOY b", st.generateQuery());
    st = sql("$C{    a.ajdi ,  a.nejm     } from $T{b a}").use("b", BadBoy.class);
    assertEquals("a.ID, a.NAME from BOY a", st.generateQuery());
    st = sql("$C{b.id,b.name} from $T{b b}").use("b", Boy.class);
    assertEquals("b.ID as BOY$ID, b.NAME as BOY$NAME from BOY b", st.aliasColumnsAs(TABLE_NAME).generateQuery());
    st = sql("$C{    a.ajdi ,  a.nejm     } from $T{b a}").use("b", BadBoy.class);
    assertEquals("a.ID as BOY$ID, a.NAME as BOY$NAME from BOY a", st.aliasColumnsAs(TABLE_NAME).generateQuery());
    st = sql("$b.id as d, $C{b.name} from $T{b b}").use("b", Boy.class).aliasColumnsAs(TABLE_NAME);
    assertEquals("b.ID as d, b.NAME as BOY$NAME from BOY b", st.generateQuery());
    st = sql("$a.ajdi as d, $C{    a.nejm     } from $T{b a}").use("b", BadBoy.class).aliasColumnsAs(TABLE_NAME);
    assertEquals("a.ID as d, a.NAME as BOY$NAME from BOY a", st.generateQuery());
    st = sql("$C{b.*} from $T{b b}").use("b", Boy.class).aliasColumnsAs(TABLE_NAME);
    assertEquals("b.GIRL_ID as BOY$GIRL_ID, b.ID as BOY$ID, b.NAME as BOY$NAME from BOY b", st.generateQuery());
    st = sql("$C{a.*} from $T{b a}").use("b", BadBoy.class);
    assertEquals("a.ID, a.GIRL_ID, a.NAME from BOY a", st.generateQuery());
    st = sql("$C{a.*} from $T{BadBoy a}");
    assertEquals("a.ID, a.GIRL_ID, a.NAME from BOY a", st.generateQuery());
    st = sql("$C{BadBoy.ajdi} from $T{BadBoy BadBoy}");
    assertEquals("BadBoy.ID from BOY BadBoy", st.generateQuery());
    st = sql("$C{BadBoy.ajdi} from $T{BadBoy}");
    assertEquals("BOY.ID from BOY", st.generateQuery());
}
Also used : BadBoy(jodd.db.oom.tst.BadBoy) DbSqlBuilder(jodd.db.oom.sqlgen.DbSqlBuilder) Boy(jodd.db.oom.tst.Boy) BadBoy(jodd.db.oom.tst.BadBoy) Test(org.junit.Test)

Example 8 with BadBoy

use of jodd.db.oom.tst.BadBoy in project jodd by oblac.

the class JointHintResolverTest method testHints.

@Test
public void testHints() {
    Girl girl = new Girl();
    BadBoy badBoy = new BadBoy();
    Object[] data = new Object[] { girl, badBoy };
    JoinHintResolver jhr = new JoinHintResolver();
    Object[] result = jhr.join(data, "girl, boy");
    assertEquals(2, result.length);
    assertTrue(result[0] instanceof Girl);
    assertTrue(result[1] instanceof BadBoy);
    badBoy = (BadBoy) result[1];
    assertNull(badBoy.girl);
    jhr = new JoinHintResolver();
    result = jhr.join(data, "boy.girl, boy");
    assertEquals(1, result.length);
    assertTrue(result[0] instanceof BadBoy);
    badBoy = (BadBoy) result[0];
    assertEquals(girl, badBoy.girl);
    girl = new Girl();
    badBoy = new BadBoy();
    data = new Object[] { girl, badBoy, Integer.valueOf(7) };
    jhr = new JoinHintResolver();
    result = jhr.join(data, "boy.girl, boy, boy.girlId");
    assertEquals(1, result.length);
    assertTrue(result[0] instanceof BadBoy);
    badBoy = (BadBoy) result[0];
    assertEquals(girl, badBoy.girl);
    assertEquals(7, badBoy.girlId.intValue());
    girl = new Girl();
    badBoy = new BadBoy();
    data = new Object[] { girl, badBoy, Integer.valueOf(7) };
    jhr = new JoinHintResolver();
    result = jhr.join(data, "boy.girl, boy, girlId");
    assertEquals(2, result.length);
    assertTrue(result[0] instanceof BadBoy);
    badBoy = (BadBoy) result[0];
    assertEquals(girl, badBoy.girl);
    assertNull(badBoy.girlId);
    assertTrue(result[1] instanceof Integer);
}
Also used : BadBoy(jodd.db.oom.tst.BadBoy) Girl(jodd.db.oom.tst.Girl) Test(org.junit.Test)

Aggregations

BadBoy (jodd.db.oom.tst.BadBoy)8 Test (org.junit.Test)8 DbSqlBuilder (jodd.db.oom.sqlgen.DbSqlBuilder)7 Boy (jodd.db.oom.tst.Boy)6 ParameterValue (jodd.db.oom.sqlgen.ParameterValue)1 BadGirl (jodd.db.oom.tst.BadGirl)1 Girl (jodd.db.oom.tst.Girl)1