Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Memanggil prosedur tersimpan Oracle dengan MyBatis

Peta hasil terlihat seperti ini:

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

Dalam pernyataan pilih Anda, ubah tipe parameter menjadi 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>

Antarmuka mapper Anda terlihat seperti ini, sepertinya Anda saat ini menyebutnya DAO. Cara saya melakukannya di masa lalu adalah membuat antarmuka mapper yang disuntikkan ke DAO dan DAO adalah yang memanggil metode pada mapper. Berikut ini contoh antarmuka mapper:

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

Kelas mapper itu kemudian akan disuntikkan ke dalam kelas DAO dan melakukan panggilan seperti ini:

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. Bagaimana cara meneruskan Daftar dari Java ke Oracle Procedure?

  2. Bangun XML dengan XMLELEMENT - kueri ORACLE SQL 11g

  3. C# - Cara mendapatkan nilai tipe mentah oracle long

  4. Cara menemukan catatan dengan rentang tanggal yang tumpang tindih secara rekursif di Oracle DB

  5. Bagaimana dan kapan indeks digunakan dalam operasi INSERT dan UPDATE?