use of com.github.fabriciofx.cactoos.jdbc.query.QuerySimple in project cactoos-jdbc by fabriciofx.
the class LoggedTest method loggedUpdate.
@Test
public void loggedUpdate() throws Exception {
final Logger logger = new LoggerFake();
final String sql = "CREATE TABLE t012 (id INT AUTO_INCREMENT, name VARCHAR(50))";
final Session session = new Logged(new SessionNoAuth(new SourceH2("testdb")), "cactoos-jdbc", logger);
new StatementUpdate(session, new QuerySimple(sql)).result();
MatcherAssert.assertThat("Can't connection from cactoos-jdbc", logger.toString(), Matchers.allOf(Matchers.containsString("Connection[#0] has been opened with properties"), Matchers.containsString(String.format("PreparedStatement[#0] created using SQL '%s'", sql)), Matchers.containsString("PreparedStatement[#0] updated a source and returned '0' in"), Matchers.containsString("PreparedStatement[#0] closed"), Matchers.containsString("Connection[#0] closed")));
}
use of com.github.fabriciofx.cactoos.jdbc.query.QuerySimple in project cactoos-jdbc by fabriciofx.
the class StatementInsertTest method insertWithKeysH2.
@Test
public // @checkstyle MethodNameCheck (1 line)
void insertWithKeysH2() throws Exception {
try (Server server = new ServerH2()) {
server.start();
final Session session = server.session();
new StatementUpdate(session, new QuerySimple(new Joined(" ", "CREATE TABLE t02 (id INT AUTO_INCREMENT,", "name VARCHAR(50), PRIMARY KEY (id))"))).result();
MatcherAssert.assertThat("Can't insert with an integer keys", new ResultAsValue<>(new StatementInsertKeyed<>(session, new QueryKeyed("INSERT INTO t02 (name) VALUES (:name)", new ParamText("name", "Jeff Malony")))), new HasValue<>(1));
}
}
use of com.github.fabriciofx.cactoos.jdbc.query.QuerySimple in project cactoos-jdbc by fabriciofx.
the class StatementInsertTest method insertWithKeysPsql.
@Test
public void insertWithKeysPsql() throws Exception {
try (Server server = new ServerPgsql()) {
server.start();
final Session session = server.session();
new StatementUpdate(session, new QuerySimple(new Joined(" ", "CREATE TABLE t02 (id SERIAL,", "name VARCHAR(50), PRIMARY KEY (id))"))).result();
MatcherAssert.assertThat("Can't insert with an integer keys", new ResultAsValue<>(new StatementInsertKeyed<>(session, new QueryKeyed("INSERT INTO t02 (name) VALUES (:name)", new ParamText("name", "Jeff Malony")))), new HasValue<>(1));
}
}
use of com.github.fabriciofx.cactoos.jdbc.query.QuerySimple in project cactoos-jdbc by fabriciofx.
the class StatementSelectTest method any.
@Test
public void any() throws Exception {
try (Servers servers = new Servers(new ServerH2(), new ServerMysql(), new ServerPgsql())) {
for (final Session session : servers.sessions()) {
new StatementUpdate(session, new QuerySimple(new Joined(" ", "CREATE TABLE person (id INT, name VARCHAR(30),", "created_at DATE, city VARCHAR(20),", "working BOOLEAN, height DECIMAL(20,2),", "PRIMARY KEY (id))"))).result();
new StatementBatch(session, new QueryBatch(new Joined(" ", "INSERT INTO person", "(id, name, created_at, city, working, height)", "VALUES (:id, :name, :created_at, :city,", ":working, :height)"), new ParamsNamed(new ParamInt("id", 1), new ParamText("name", "Rob Pike"), new ParamDate("created_at", LocalDate.now()), new ParamText("city", "San Francisco"), new ParamBool("working", true), new ParamDecimal("height", "1.86")), new ParamsNamed(new ParamInt("id", 2), new ParamText("name", "Ana Pivot"), new ParamDate("created_at", LocalDate.now()), new ParamText("city", "Washington"), new ParamBool("working", false), new ParamDecimal("height", "1.62")))).result();
MatcherAssert.assertThat("Can't select a person name", new ResultSetAsValue<>(new StatementSelect(session, new QuerySimple("SELECT name FROM person"))), new HasValue<>("Rob Pike"));
}
}
}
use of com.github.fabriciofx.cactoos.jdbc.query.QuerySimple in project cactoos-jdbc by fabriciofx.
the class PhonebookSql method contact.
@Override
public Contact contact(final Map<String, String> properties) throws Exception {
final UUID id = UUID.randomUUID();
new StatementInsert(this.session, new QuerySimple("INSERT INTO contact (id, name) VALUES (:id, :name)", new ParamUuid("id", id), new ParamText("name", properties.get("name")))).result();
return new ContactSql(this.session, id);
}
Aggregations