Files
ebean/ebean-test/src/test/java/org/tests/callable/TestMysqlCallable.java
T

56 lines
1.3 KiB
Java

package org.tests.callable;
import io.ebean.BaseTestCase;
import io.ebean.CallableSql;
import io.ebean.DB;
import io.ebean.Database;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.tests.model.basic.EBasic;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class TestMysqlCallable extends BaseTestCase {
// drop procedure my_stored_procedure if exists;
//
/*
DELIMITER //
create procedure my_stored_procedure(in v_id integer, in v_name varchar(100))
begin
update e_basic set name = v_name where id = v_id;
end;
//
*/
/**
* Only run this test manually against MySQL with the above stored procedure.
*/
@Disabled
@Test
public void test() {
// mysql specific test
Database server = DB.byName("mysql");
EBasic basic = new EBasic();
basic.setName("calling");
server.save(basic);
CallableSql cs = server.createCallableSql("{call my_stored_procedure(?,?)}");
cs.setParameter(1, basic.getId());
cs.setParameter(2, "modBySP");
// without addModification() need to confirm transaction treated as not query only
//cs.addModification("e_basic", false, true, false);
server.execute(cs);
EBasic basic1 = server.find(EBasic.class, basic.getId());
assertEquals("modBySP", basic1.getName());
}
}