\begin{frame} \frametitle{Dynamic APIs: Advantages and Disadvantages} \begin{goal}{Advantages and Disadvantages of Dynamic APIs} \begin{itemize} \medskip \item powerful, flexible, but error-prone \medskip \item SQL query given as strings may be incorrect \begin{itemize} \item no error checking at development time \item column names and types unknown at compile time \end{itemize} \medskip \item risk of SQL injection \medskip \item mismatch between SQL and Java types (isNull) \medskip \end{itemize} \end{goal} \end{frame}