This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Hi all. I've got a rookie question to ask you all. Reads the JDBC spec: "The JDBC TM API is the Java TM platform standard call-level API for database access." My question should be quite simple to answer for all you JDBC/DB gurus: What do we mean by the term "call-level API"? Thanks in advance, Panagiotis Varlagas.
from the Sun web site: <A HREF="http://java.sun.com/docs/books/jdbc/intro.html<p rel="nofollow">" TARGET=_blank>http://java.sun.com/docs/books/jdbc/intro.html
JDBC Is a Low-level API and a Base for Higher-level APIs JDBC is a ``low-level'' interface, which means that it is used to invoke (or ``call'') SQL commands directly. It works very well in this capacity and is easier to use than other database connectivity APIs, but it was designed also to be a base upon which to build higher-level interfaces and tools. A higher-level interface is ``user-friendly,'' using a more understandable or more convenient API that is translated behind the scenes into a low-level interface such as JDBC. At the time of this writing, two kinds of higher-level APIs are under development on top of JDBC:
an embedded SQL for Java. At least one vendor plans to build this. DBMSs implement SQL, a language designed specifically for use with databases. JDBC requires that the SQL statements be passed as strings to Java methods. An embedded SQL preprocessor allows a programmer to instead mix SQL statements directly with Java: for example, a Java variable can be used in an SQL statement to receive or provide SQL values. The embedded SQL preprocessor then translates this Java/SQL mix into Java with JDBC calls. a direct mapping of relational database tables to Java classes. JavaSoft and others have announced plans to implement this. In this ``object/relational'' mapping, each row of the table becomes an instance of that class, and each column value corresponds to an attribute of that instance. Programmers can then operate directly on Java objects; the required SQL calls to fetch and store data are automatically generated ``beneath the covers''. More sophisticated mappings are also provided, for example, where rows of multiple tables are combined in a Java class. As interest in JDBC has grown, more developers have been working on JDBC-based tools to make building programs easier, as well. Programmers have also been writing applications that make accessing a database easier for the end user. For example, an application might present a menu of database tasks from which to choose. After a task is selected, the application presents prompts and blanks for filling in information needed to carry out the selected task. With the requested input typed in, the application then automatically invokes the necessary SQL commands. With the help of such an application, users can perform database tasks even when they have little or no knowledge of SQL syntax.