Search in sources :

Example 36 with User

use of com.github.drinkjava2.functionstest.entitynet.entities.User in project jSqlBox by drinkjava2.

the class UsuageAndSpeedTest method sqlMapperSqlAnnotaion.

@Test
public void sqlMapperSqlAnnotaion() {
    SqlBoxContext ctx = new SqlBoxContext(dataSource);
    // use global default context
    SqlBoxContext.setGlobalSqlBoxContext(ctx);
    UserMapper user = new UserMapper();
    for (int i = 0; i < REPEAT_TIMES; i++) {
        user.insertOneUser("Sam", "Canada");
        user.updateAllUser("Tom", "China");
        List<Map<String, Object>> users = user.selectUsers("Tom", "China");
        Assert.assertEquals(1, users.size());
        user.deleteUsers("Tom", "China");
        Assert.assertEquals(0, user.ctx().nQueryForLongValue("select count(*) from users"));
    }
}
Also used : SqlBoxContext(com.github.drinkjava2.jsqlbox.SqlBoxContext) HashMap(java.util.HashMap) Map(java.util.Map) Test(org.junit.Test)

Example 37 with User

use of com.github.drinkjava2.functionstest.entitynet.entities.User in project jSqlBox by drinkjava2.

the class BeetlSqlTemplateDemo method doTest.

@Test
public void doTest() {
    HikariDataSource ds = new HikariDataSource();
    // H2 Memory database
    ds.setDriverClassName("org.h2.Driver");
    ds.setJdbcUrl("jdbc:h2:mem:DBName;MODE=MYSQL;DB_CLOSE_DELAY=-1;TRACE_LEVEL_SYSTEM_OUT=0");
    ds.setUsername("sa");
    ds.setPassword("");
    ConnectionSource source = ConnectionSourceHelper.getSingle(ds);
    DBStyle dbstyle = new H2Style();
    SQLLoader loader = new ClasspathLoader("/sql");
    UnderlinedNameConversion nc = new UnderlinedNameConversion();
    SQLManager sqlManager = new SQLManager(dbstyle, loader, source, nc, new Interceptor[] {});
    // Done BeetlSQL engine
    SqlBoxContext.setGlobalTemplateEngine(new BeetlSqlTempalte(sqlManager));
    // Log output
    SqlBoxContext.setGlobalAllowShowSql(true);
    SqlBoxContext ctx = new SqlBoxContext(ds);
    SqlBoxContext.setGlobalSqlBoxContext(ctx);
    String[] ddlArray = ctx.toDropAndCreateDDL(User.class);
    for (String ddl : ddlArray) ctx.quiteExecute(ddl);
    for (int i = 1; i <= 100; i++) {
        User u = new User();
        u.setName("Foo" + i);
        u.setAge(i);
        u.insert();
    }
    Assert.assertEquals(100, ctx.nQueryForLongValue("select count(*) from users"));
    Map<String, Object> params = new HashMap<>();
    params.put("age", 50);
    List<Map<String, Object>> result = ctx.tQueryForMapList("user.select", params);
    Assert.assertEquals(50, result.size());
    ds.close();
}
Also used : HikariDataSource(com.zaxxer.hikari.HikariDataSource) SQLLoader(org.beetl.sql.core.SQLLoader) HashMap(java.util.HashMap) SqlBoxContext(com.github.drinkjava2.jsqlbox.SqlBoxContext) SQLManager(org.beetl.sql.core.SQLManager) ClasspathLoader(org.beetl.sql.core.ClasspathLoader) ConnectionSource(org.beetl.sql.core.ConnectionSource) UnderlinedNameConversion(org.beetl.sql.core.UnderlinedNameConversion) DBStyle(org.beetl.sql.core.db.DBStyle) H2Style(org.beetl.sql.core.db.H2Style) HashMap(java.util.HashMap) Map(java.util.Map) Test(org.junit.Test)

Example 38 with User

use of com.github.drinkjava2.functionstest.entitynet.entities.User in project jSqlBox by drinkjava2.

the class EntityNetUtils method jointConfigModels.

public static TableModel[] jointConfigModels(TableModel[] bindeds, TableModel[] givens) {
    // check setted to avoid user set empty value to TableModel
    Map<String, TableModel> uses = new HashMap<String, TableModel>();
    for (TableModel tb : givens) {
        SqlBoxException.assureNotNull(tb.getEntityClass(), "EntityClass setting can not be null for '" + tb.getTableName() + "'");
        SqlBoxException.assureNotEmpty(tb.getTableName(), "TableName setting can not be empty for '" + tb.getTableName() + "'");
        uses.put(tb.getTableName().toLowerCase(), tb);
    }
    for (TableModel tb : bindeds) {
        SqlBoxException.assureNotEmpty(tb.getTableName(), "TableName setting can not be empty for '" + tb.getTableName() + "'");
        TableModel exist = uses.get(tb.getTableName().toLowerCase());
        if (tb.getEntityClass() != null) {
            // it's binded by has entityClass
            if (exist == null)
                uses.put(tb.getTableName().toLowerCase(), tb);
            else
                // exist and current tb both can use, duplicated
                throw new SqlBoxException("Duplicated entityClass setting for '" + tb.getTableName() + "'");
        }
    }
    for (TableModel tb : bindeds) {
        // use alias to fill
        TableModel exist = uses.get(tb.getTableName().toLowerCase());
        if (exist != null && tb.getEntityClass() == null) {
            // it's binded by
            // has
            // entityClass
            String alias = tb.getAlias();
            if (!StrUtils.isEmpty(alias) && StrUtils.isEmpty(exist.getAlias()))
                exist.setAlias(alias);
        }
    }
    TableModel[] result = new TableModel[uses.size()];
    int i = 0;
    for (Entry<String, TableModel> entry : uses.entrySet()) {
        result[i++] = entry.getValue();
    }
    return result;
}
Also used : HashMap(java.util.HashMap) WeakHashMap(java.util.WeakHashMap) SqlBoxException(com.github.drinkjava2.jsqlbox.SqlBoxException) TableModel(com.github.drinkjava2.jdialects.model.TableModel)

Aggregations

Test (org.junit.Test)35 User (com.github.drinkjava2.functionstest.entitynet.entities.User)25 EntityNet (com.github.drinkjava2.jsqlbox.entitynet.EntityNet)18 SqlBoxContext (com.github.drinkjava2.jsqlbox.SqlBoxContext)12 Path (com.github.drinkjava2.jsqlbox.entitynet.Path)11 Email (com.github.drinkjava2.functionstest.entitynet.entities.Email)9 Role (com.github.drinkjava2.functionstest.entitynet.entities.Role)7 UserRole (com.github.drinkjava2.functionstest.entitynet.entities.UserRole)7 HashMap (java.util.HashMap)6 Privilege (com.github.drinkjava2.functionstest.entitynet.entities.Privilege)5 RolePrivilege (com.github.drinkjava2.functionstest.entitynet.entities.RolePrivilege)5 Map (java.util.Map)4 Set (java.util.Set)4 HikariDataSource (com.zaxxer.hikari.HikariDataSource)3 EntitySqlMapListHandler (com.github.drinkjava2.jsqlbox.handler.EntitySqlMapListHandler)2 AbstractUser (activerecordtext.AbstractUser)1 TextedUser (activerecordtext.TextedUser)1 Address (com.github.drinkjava2.functionstest.entitynet.entities.Address)1 TableModel (com.github.drinkjava2.jdialects.model.TableModel)1 SqlBoxContextConfig (com.github.drinkjava2.jsqlbox.SqlBoxContextConfig)1