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"));
}
}
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();
}
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;
}
Aggregations