use of com.github.fabriciofx.cactoos.jdbc.Session in project cactoos-jdbc by fabriciofx.
the class ResultAsValueTest method insertWithKeys.
@Test
public void insertWithKeys() throws Exception {
try (Server server = new ServerMysql()) {
server.start();
final Session session = server.session();
new StatementUpdate(session, new QuerySimple(new Joined(" ", "CREATE TABLE contact (", "id INT AUTO_INCREMENT,", "name VARCHAR(50) NOT NULL,", "CONSTRAINT pk_contact PRIMARY KEY(id))"))).result();
MatcherAssert.assertThat("Can't get a generated key value", new ResultAsValue<>(new StatementInsertKeyed<>(session, new QueryKeyed(() -> "INSERT INTO contact (name) VALUES (:name)", "id", new ParamText("name", "Leonardo da Vinci")))), new HasValue<>(BigInteger.ONE));
}
}
use of com.github.fabriciofx.cactoos.jdbc.Session in project cactoos-jdbc by fabriciofx.
the class StatementBatchTest method batch.
@Test
public void batch() 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 client (id INT,", "name VARCHAR(50), age INT, PRIMARY KEY (id))"))).result();
new StatementBatch(session, new QueryBatch(new Joined(" ", "INSERT INTO client (id, name, age)", "VALUES (:id, :name, :age)"), new ParamsNamed(new ParamInt("id", 1), new ParamText("name", "Jeff Bridges"), // @checkstyle MagicNumber (1 line)
new ParamInt("age", 34)), new ParamsNamed(new ParamInt("id", 2), new ParamText("name", "Anna Miller"), // @checkstyle MagicNumber (1 line)
new ParamInt("age", 26)), new ParamsNamed(// @checkstyle MagicNumber (3 lines)
new ParamInt("id", 3), new ParamText("name", "Michal Douglas"), new ParamInt("age", 32)))).result();
}
}
}
use of com.github.fabriciofx.cactoos.jdbc.Session in project cactoos-jdbc by fabriciofx.
the class StatementInsertTest method insert.
@Test
public void insert() 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 t01 (id INT, name VARCHAR(50),", "PRIMARY KEY (id))"))).result();
MatcherAssert.assertThat("Can't insert into table", new ResultAsValue<>(new StatementInsert(session, new QuerySimple(new Joined(" ", "INSERT INTO t01 (id, name)", "VALUES (:id, :name)"), new ParamInt("id", 1), new ParamText("name", "Yegor Bugayenko")))), new HasValue<>(false));
}
}
}
use of com.github.fabriciofx.cactoos.jdbc.Session in project cactoos-jdbc by fabriciofx.
the class StatementInsertTest method insertWithKeysMysql.
@Test
public void insertWithKeysMysql() throws Exception {
try (Server server = new ServerMysql()) {
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)", "id", new ParamText("name", "Jeff Malony")))), new HasValue<>(BigInteger.ONE));
}
}
use of com.github.fabriciofx.cactoos.jdbc.Session in project cactoos-jdbc by fabriciofx.
the class StatementSelectTest method select.
@Test
public void select() 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 employee (id INT,", "name VARCHAR(50), birthday DATE,", "address VARCHAR(100),", "married BOOLEAN, salary DECIMAL(20,2),", "PRIMARY KEY (id))"))).result();
new StatementBatch(session, new QueryBatch(new Joined(" ", "INSERT INTO employee", "(id, name, birthday, address, married, salary)", "VALUES (:id, :name, :birthday, :address,", ":married, :salary)"), new ParamsNamed(new ParamInt("id", 1), new ParamText("name", "John Wick"), new ParamDate("birthday", "1980-08-15"), new ParamText("address", "Boulevard Street, 34"), new ParamBool("married", false), new ParamDecimal("salary", "13456.00")), new ParamsNamed(new ParamInt("id", 2), new ParamText("name", "Adam Park"), new ParamDate("birthday", "1985-07-09"), new ParamText("address", "Sunset Place, 14"), new ParamBool("married", true), new ParamDecimal("salary", "12345.00")))).result();
MatcherAssert.assertThat(XhtmlMatchers.xhtml(new ResultSetAsXml(new StatementSelect(session, new QuerySimple("SELECT * FROM employee")), "employees", "employee").value()), XhtmlMatchers.hasXPaths("/employees/employee/id[text()='1']", "/employees/employee/name[text()='John Wick']", String.join("", "/employees/employee/address[text()=", "'Boulevard Street, 34']"), "/employees/employee/married[text()='false']", "/employees/employee/salary[text()='13456.00']", "/employees/employee/id[text()='2']", "/employees/employee/name[text()='Adam Park']", String.join("", "/employees/employee/address[text()=", "'Sunset Place, 14']"), "/employees/employee/married[text()='true']", "/employees/employee/salary[text()='12345.00']"));
}
}
}
Aggregations