Учебный план по JDBC

Добрый день.Я занимаюсь IT-образованием.В данный момент готовлю курс «JDBC for Java Developer» для одной западной MOOC-платформы. Думаю этот детальный план может быть полезен кому-то для подготовки к собеседованию.

По некоторому размышлению выходит, что за 4–5 часов видео (стандартный формат на платформе) максимум полезного, что можно рассказать в 5–10 минутных кусочках, попадает в Первую часть (6 тем: «Intro», «Connect to database», «Query database», «ResultSet», «Optimizations», «Transactions» + 35 вложенных подтем).

Ценное, но не помещающееся, пошло во Вторую часть (3 темы: «ThreadLocal Tx-Manager», «Distributed Transactions», «Query Meta-Information» + 10 вложенных подтем).

Ожидается, что слушатель после курса будет готов приступить к технологиям «следующего уровня» после JDBC — Spring JDBC Template, JavaEE transactions, ORM.

Знаю, что разумное замечание состоит в том, что можно «просто почитать JDBC 4.2 Specification». Да, можно. Этот план и строится как анализ спецификации + предлагаемые целевые варианты использования (Dao Patter, TxManager, Connection pooling, …).

Первая частьIntro Install MySQL RDBMS + MySQL Workbench RDBMS vs DB, create database JDBC architecture: JDBC API + JDBC Driver JDBC Driver types, transport types Connector/J: JDBC Driver to MySQL JDBC / SQL versions, SQL dialects Connect to database Driver, DriverManager, DataSource Connection JDBC URL Connector/J properties Query database DDL and DML (TEXT) Statement Statement.executeUpdate: INSERT, UPDATE, DELETE Get auto-generated keys Statement.executeQuery: SELECT, ResultSet Statement.execute SQLException: errorCode and errorState DAO Pattern Альтернатива DAO: Transaction Script, Active Record, ORM ResultSet ResultSet: positioning and transition ResultSet: type ResultSet: concurrency ResultSet: holdability Optimizations PreparedStatement = + precompilation — SQL injection Batch update = vectorization Connection pooling Transactions ACID properties Transaction boundaries Savepoints Transaction isolation levels MySQL transactions: MyISAM vs InnoDB READ UNCOMMITED, Dirty Read «phenomena» READ COMMITED, NonRepeatable Read «phenomena» REPEATABLE READ, Phantom Read «phenomena» SERIALIZABLE Вторая часть Local Tx-Manager: by-hands Base realization: ThreadLocal Tx-context @Transactional annotation AOP realization of @Transactional Application server = Tx-context + Auth-context + Thread management Distributed Transactions 2PC-protocol javax.jdbc.xa.* — XA-standart realization of 2PC-client Distribured-Tx Manager Architecture Query Meta-Information Database meta-info Table meta-info Row meta-info P.S. Кроме подготовки этого курса для сторонней платформы (готовится переводной вариант на английском, оригинал на русском пока негде выложить) автор с 27 февраля стартует курс из 16 вебинаров «Scala for Java Developers» (3 месяца).Контакты: skype: GolovachCoursesemail: GolovachCourses@gmail.com

© Habrahabr.ru