JavaRush
AI Academy
new
Promotion
Learning
Courses
Tasks
Quizzes
Games
Help
Schedule of nudges
Internship
Community
Users
Forum
Chat
Articles
Success stories
Activities
Reviews
Subscriptions
Light theme

Lectures

  • Reviews
  • About us
  • CS50
Start
Start learning
Start learning
  • My progress
  • Courses
  • Quest map
  • Lectures
  • Getting to know SQL for applications

    Kotlin SELF
    59 level,0 lecture
    We break down the basic “mental model” of relational databases: tables, rows, columns, and the schema as a data contract. We learn to see the foundation of CRUD operations in SQL ( INSERT, SELECT, UPDATE, DELETE), to understand integrity constraints ( PRIMARY KEY, NOT NULL, UNIQUE, FOREIGN KEY), and we also build a correct habit: fixed query + parameters ( ?) instead of string concatenation. All examples are shown as Kotlin strings with trimIndent() for future work with JDBC and Exposed.
    Open
  • JDBC — Connection, PreparedStatement, ResultSet

    Kotlin SELF
    59 level,1 lecture
    We break down JDBC’s “three nested dolls”: Connection (a channel to the DB), PreparedStatement (a prepared SQL with parameters ?), and ResultSet (a cursor over rows). Using Kotlin examples, we learn how to safely run SELECT/ INSERT/ UPDATE/ DELETE, map results into a data class, and avoid resource leaks via use().
    Open
  • Transactions in JDBC — boundaries, autoCommit, commit/rollback

    Kotlin SELF
    59 level,2 lecture
    We break down why JDBC needs transactions and where their boundaries lie: how autoCommit affects persisting changes, why multiple SQL operations must live in a single transaction, and how to correctly build a try/ catch/ finally template for guaranteed commit() and rollback(). In practice, we build a convenient inTx wrapper, tie expense insertion to auditing, discuss money transfers as a “double UPDATE,” and common mistakes (early commit, forgotten rollback, overly broad transactions).
    Open
  • Exposed: tables and CRUD via the DSL

    Kotlin SELF
    59 level,3 lecture
    We break down the Exposed library from the SQL DSL perspective: how to add the dependencies and call Database.connect, describe a table via LongIdTable, work within transaction { }, and implement CRUD operations via insert, select/ selectAll, update, deleteWhere. At the end — how to “hide” Exposed behind a repository interface and which mistakes beginners make most often.
    Open
  • Database access in coroutines: Dispatchers . IO

    Kotlin SELF
    59 level,4 lecture
    We break down why JDBC remains blocking even inside coroutines, how dispatchers differ, and why you should move queries into withContext( Dispatchers . IO). We lock in the architectural rule “IO lives in the storage layer”, handle transactions carefully (don’t break the context), build a minimal Expense Tracker on JDBC, and discuss Exposed under coroutines. In the end — an honest error model and a list of common pitfalls.
    Open
Learn
  • Registration
  • Java course
  • Help with tasks
  • Pricing
Community
  • Users
  • Articles
  • Forum
  • Chat
  • Success stories
  • Activities
Company
  • About us
  • Contacts
  • Reviews
  • FAQ
  • Support
JavaRushJavaRush — is an interactive online course for learning Java programming from scratch. It contains 1200 practical tasks with one-click solution checking, the necessary minimum of theory on Java basics, and motivating features that help you complete the course: games, quizzes, interesting projects and articles on effective learning and the career of a Java developer.
Follow us
Язык интерфейса
Русский
English
Українська
"Programmers are not born" © 2026 JavaRush
MastercardVisa
"Programmers are not born" © 2026 JavaRush