mirror of
https://github.com/ebean-orm/ebean.git
synced 2024-04-21 10:51:47 +00:00
56 lines
1.3 KiB
Java
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());
|
|
}
|
|
|
|
}
|