Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Wywoływanie procedur składowanych Oracle za pomocą MyBatis

Mapa wyników wygląda tak:

<resultMap id="UserResult" type="User">
    <id property="userId" column="userId"/>
    <result property="firstName" column="firstName"/>
    <result property="lastName" column="lastName"/>     
</resultMap>

W instrukcji select zmień typ parametru na java.util.Map.

<select id="getUsers" statementType="CALLABLE" parameterType="java.util.Map"> 
    {call GetUsers(#{users, jdbcType=CURSOR, javaType=java.sql.ResultSet, mode=OUT, resultMap=UserResult})} 
</select>

Twój interfejs mapowania wygląda tak, wygląda na to, że obecnie nazywasz to DAO. Sposób, w jaki robiłem to w przeszłości, polegał na stworzeniu interfejsu mappera, który jest wstrzykiwany do DAO, a DAO jest tym, co wywołuje metody na mapperze. Oto przykładowy interfejs mapowania:

public interface UserMapper {
    public Object getUsers(Map<String, Object> params);
}

Ta klasa mapowania zostanie następnie wstrzyknięta do klasy DAO i wywołanie w ten sposób:

public List<User> getUsers() {
    Map<String, Object> params = new HashMap<String, Object>(); 
    ResultSet rs = null;
    params.put("users", rs);
    userMapper.getUsers(params);
    return ((ArrayList<User>)params.get("users"));
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można utworzyć wystąpienia błędu dostawcy OLE DB jako użytkownik uwierzytelniania systemu Windows

  2. Wyrażenia regularne Oracle. Niebezpieczny zasięg

  3. ORA-12015:nie można utworzyć zmaterializowanego widoku szybkiego odświeżania ze złożonego zapytania

  4. Kolumna tożsamości Oracle i wstaw do wyboru

  5. uruchom plik exe w wyzwalaczu Oracle