JDBC, DAO & SQL: Practical Crash Course - Build Database App
- Description
- Curriculum
- FAQ
- Reviews
From this course, you can learn JDBC, DAO Design Pattern, SQL & Relational Database.
There are a lot of other courses on this topic. So, why would you choose exactly this course? Here are just a few reasons:
– Coding examples
To learn to program is not enough just watching videos and reading books. You also need to have a lot of practice. In this training course, you will review multiple practical tasks and coding examples which will help you learn and understand Java better.
– Open source code
We hide nothing from our students! Including the source code for the home task solutions and source code of examples that were shared during the lesson. Having the source code you can just copy and paste it to run it on your local computer to understand how things work better.
You are allowed to use all source code examples for learning purposes. This helps significantly to configure the environment and make tests work, especially in case students didn’t work with any testing framework in the past.
– Q&A support
The significant difference between the online and offline learning process is the instructor’s availability. If you are in one room with a tutor he always can help you to get understand the specific concept or to help fix your code on your computer.
In this course, we are supporting students with answers to any questions flagged in the Q&A section. In case there will be recurring questions – separate video lessons will be created to show how to address the issue.
So with this course you are not just getting video materials, code exercises, source code, access to the free mobile application without limits (which is still pretty cool, huh? 🙂 ), but you also get tutor support and answers to your questions along with this course.
– Relevant knowledge
After our team investigated other Java courses on Udemy we realized that most of them have nothing in common with real life. The information which is shared there is very old and significantly out of date. For example, the instructor teaches a framework which is not been used already for 15 years. Or instructors do stress on the programming design which is not used anymore at all!
The instructor of this course is a consultant in a top-rated IT outsourcing company and helps to bring cutting-edge solutions in IT for all his clients. Feel free to check the LinkedIn page of the instructor and check skills endorsement. More than 19 thousand people across all over the world (BTW most of them are from the top 100 companies of the world) evaluated the skills of Andrii Piatakha.
With this course, you can be sure that you will spend your time learning the right things from one of the best IT consultants in the world.
– Free mobile App without limits for our students
Knowing Java is one skill. Be able to pass interviews in the company – that is another skill 🙂 Nowadays a lot of companies use tests to select candidates on the first level of interview. We developed applications to practice skills specifically for such purposes.
In this course, we will provide you link to download our FREE mobile app for android. (soon it will be also available for iOS platforms)
The instructor of this course comes up with hundreds of tests that are used to test the knowledge of candidates. With this application, you will be well-prepared for the interview.
Also, only for our students – there is no limit on attempts to pass certification. In the course, we will tell you how to set up a special bonus code that will remove restrictions for our students inside the app.
– High concentration of useful material in each lesson
Sometimes you can notice that watching 5 minutes of our lesson is equivalent to watching another 30 minutes lesson.
This is because time spent for preparation for the lesson (script for the lesson, lesson structure) and video editing (to cut boring pieces of the lesson or time when the program loads) sometimes 10 times as much (sometimes even 20) as the final lesson duration after video editing.
Also, each topic is separated from another. In case some concept will be explained in the next lesson and you don’t need to worry about understanding this in the scope of this lesson – the instructor will make an announcement when a specific topic will be covered.
Go and try it yourself! We will appreciate your feedback.
So don’t wait! Take a look at the lessons’ preview if you still have doubts!
Buy this course today, and you will get all updates for FREE!
For those who successfully passed this training course, or for students who were recognized for asking amazing questions, there is a special offer from the IT-Bulls company! The creator of this course is IT-Bulls company CEO and Founder. We are always in search of talents to run our amazing startups together with you. Probably you always dreamed about running your startup? In this course, you will be able to find the team who will teach you how to do that and (in particular cases) will be glad to help with implementation!
Hope you enjoy this course! And remember, we appreciate all your feedback! Your feedback will help us to become even better! Your feedback will help us to create to best Java course ever!
See you at the lessons! 🙂
-
1Communication planVideo lesson
From this lecture you will learn:
• How to communicate during this course• Where to ask questions
• How to ask questions
• Communication channels
-
2Unlimited access to 'Learn IT' application for studentsVideo lesson
From this lecture you will learn:
• Where to find good tests to verify your knowledge
• How to get unlimited access to Learn IT application (only for my students from Udemy)
-
3Tips to Improve Your Course Taking ExperienceText lesson
-
4Intro to SQL Section and Databases SectionText lesson
In this instruction I will explain why it is recommended to learn databases before we start learn JDBC.
-
5Databases: Overview - Part 1Video lesson
Why we need databases
Purposes & Advantages of databases
Database VS DBMS
Types of databases
Relational databases
-
6Databases: Overview - Part 2Video lesson
Non-Relational databases
Examples of relational, NoSQL and other databases
Document-oriented databases
Key-value storages
Graph databases
Wide column databases
Object-oriented databases
Hierarchical databases
Time series databases
Column-oriented databases
Cloud databases
Centralized and Distributed Databases
Pros and cons of different types of database
Overview of the most popular relational database management systems
-
7MySQL: Overview & Installation (including Workbench Installation)Video lesson
MySQL Overview
Main Features of MySQL
MySQL Server installation
MySQL Workbench Installation
MySQL Shell installation
Creation of root user in MySQL
Connecting MySQL Server to MySQL Workbench
Windows Service for MySQL
-
8PostgreSQL: Overview & Installation (including pgAdmin installation)Video lesson
PostgreSQL Overview
Main Features of PostgreSQL
PostgreSQL Server installation
PostgreSQL pgAdmin Installation
PostgreSQL Stack Builder Installation
PostgreSQL Command Line Tools installation
Creation of admin user in PostgreSQL
Connecting PostgreSQL Server via PG Admin
Windows Service for PostgreSQL
-
9Relational Databases: Basic ConceptsVideo lesson
Basic terms (table, entity, attribute, tuple, record, etc)
Database VS Schema
Primary key
How to choose primary key
Simple VS compound primary key
Natural VS surrogate primary key
Alternate key
Foreign key
Relationship
Types of relationships
One-to-many relationship
Many-to-many relationship
One-to-one relationship
-
10Create Schema & Table: Naming, Collation, Engines, Types, Column PropertiesVideo lesson
MySQL Workbench interface
Create schema
Naming convention
Character set
Collation
Create table
Singular VS Plural for table names
MySQL Storage Engines
Which storage engine to choose
Data types
Column Properties
-
11Referential Integrity: Foreign Key Constraint & Cascading OperationsVideo lesson
Referential Integrity
Consequences of broken referential integrity
Cascade Operations
Foreign key constraint
Remove foreign key constraint
Data consistency
Data integrity
Data quality
Data validity
-
12Indexes in DatabasesVideo lesson
What are indexes
Lookup table
Why we need indexes
What does indexing do
Index types
Primary index (dense and sparse)
Secondary index
Clustering index
Multilevel index
B-tree
How to create and remove indexes in database
Advantages of indexing
Disadvantages of indexing
-
13Database Normalization & DenormalizationVideo lesson
Data Anomalies
Insertion anomaly
Update anomaly
Deletion anomaly
Dependency theory
Normalization
Normal forms with Examples
Denormalization
-
14SQL: General Overview & DDLVideo lesson
What is SQL
SQL Sublanguages (DDL, DML, DCL, TCL)
Data Definition Language
Create Database query
Create Table query
Create Index query
Create View query
Alter Table query
Rename table
Truncate table
Drop Database query
-
15SQL: DML - CRUD Operations (SELECT, INSERT, UPDATE, DELETE)Video lesson
CRUD
SELECT statement
SELECT only specific attributes
ORDER BY
WHERE clause
DISTINCT keyword
LIKE keyword
LIMIT
IS (NOT) NULL
Operators in SQL
Aggregate Functions
GROUP BY
Aliases
HAVING
INSERT
UPDATE
DELETE
-
16JOIN Queries, UNION & SubqueriesVideo lesson
Join queries - Overview
Inner join
Left Outer join
Right Outer join
Cross Join
Full Outer join
UNION
Subqueries
-
17Views, Triggers, Stored Procedures & FunctionsVideo lesson
Views in relational databases
Create view practice
Triggers
Create new trigger
Delimiter in MySQL
Stored procedures
Session variables
Comments
Functions
-
18MySQL Workbench: AdministrationVideo lesson
Data export
Data import
Create new user
Grant privileges to user
Configure schema privileges
How to track performance
-
21JDBC Overview: Establish connection with DB from Java AppVideo lesson
JDBC Overview
JDBC Driver Types
What is ODBC
How JDBC works
Add JDBC driver to classpath of the Java App
Connection to the database via JDBC
SQLException
SQLTimeoutException
-
22Statement, PreparedStatement & CallableStatementVideo lesson
Statement
execute(String sqlQuery)
executeQuery(String sqlQuery)
executeUpdate(String sqlQuery)
ResultSet
SQL to Java types mapping
SQL Injection
PreparedStatement
CallableStatement
-
23Transactions, Batch Updates and MetaDataVideo lesson
Transactions
ACID
Commit
Rollback
Savepoint
Transactions in JDBC
Batch requests to DB
DatabaseMetaData
ResultSetMetaData
-
31Introduction to JPA & ORMVideo lesson
What is ORM
What is JPA
What is Hibernate
ORM Frameworks
JPA VS ORM VS Hibernate
JPA Advantages
-
32First JPA Project: Entity, ID GenerationType, Composite Primary Keys, etc)Video lesson
Create a JPA project
Entities in JPA
Entity Annotation
Table Annotation
Column Annotation
ID Annotation
Generated Value Annotation
GenerationType.TABLE
GenerationType.SEQUENCE
GenerationType.IDENTITY
GenerationType.UUID
GenerationType.AUTO
Requirements for Entity Class
Composite Primary Keys
Temporal Annotation
Non-persisted fields (Transient Annotation)
Persist Enum types (Enumerated Annotation)
-
33First JPA Project - Part 2: EntityManager, persistence.xml, Transactions in JPAVideo lesson
Entity Manager Factory
Entity Manager
persistence.xml
Transactions in JPA
Transaction Types in JPA
JTA VS RESOURCE_LOCAL
Practical Exercise
-
34Operations with Entity (Create, Read, Update, Delete) & JPA Entity LifecycleVideo lesson
Insert JPA Entity
Select JPA Entity
Update JPA Entity
Delete JPA Entity
States of JPA Entity
New (Transient) State
Persistent (Managed) State
Detached (Unmanaged) State
Removed (Deleted) State
Handling of JPA Entity Lifecycle events
Entity Lifecycle Listener
-
35Locking JPA: Optimistic & Pessimistic LockingVideo lesson
Why we need locking
What is a Database Lock
Physical Locks
Logical Locks
Locking in JPA
Optimistic Locking
Pessimistic Locking
Optimistic VS Pessimistic locking
@Version Annotation
Explicit Lock Type
LockModeType Enum
Coding Demo
-
36Relationships Between EntitiesVideo lesson
Use case: When to use mapping in JPA
Types of Relationships in Relational Databases
Mapping Directions
Types of Mapping in JPA
@OneToOne
@OneToMany & @ManyToOne
@ManyToMany
How to Cascade operations with Entities
CascadeType Enum
Eager and Lazy Fetch Types
@JoinColumn
@JoinTable
-
37JPA Queries (Query, TypedQuery, NativeQuery, JPQL, Criteria API)Video lesson
Types of queries in JPA
Query, TypedQuery, NamedQuery
NativeQuery
Criteria API
What is a JPQL
Key JPQL features
Property to Show SQL queries sent to the DB
Practical Exercises
-
38Caching in JPA/HibernateVideo lesson
What is Caching
Cache structure in JPA/Hibernate
First-level cache
Second-level cache
Query-level cache
Cache providers
CacheConcurencyStrategies
Ehcache
Cache Eviction Policy
Custom configuration of Ehcache
StandardQueryCache
UpdateTimestampsCache
Persistence Strategies in Ehcache
Practical examples
-
39N+1: Problem and SolutionVideo lesson
What is N+1 problem
Why it is important to avoid it
N+1 problem solutions
Entity Graph
@NamedEntityGraph Annotation
@NamedAttributeNode Annotation
-
45Intro to the SectionText lesson
-
46Spring Data & Spring Data JPA: OverviewVideo lesson
Spring Data: Overview
Spring Data Modules
Spring Data JPA: Overview
JPA Repositories
Repository pattern
Spring Data JPA Advantages & Disadvantages
-
47Spring Data JPA: PracticeVideo lesson
Configuration of the Spring Data JPA
Creation of JPA Repository
JPQL Queries in JPA Repository
Native SQL Queries in JPA Repository
Naming convention for methods in JPA Repository
End-to-end live demo
-
49Spring JDBC: OverviewVideo lesson
JDBC Overview
Why we need Spring JDBC
Problems of JDBC API
Spring Data JDBC VS Spring JDBC
JbdcTemplate
NamedParameterJdbcTemplate
SimpleJdbcInsert
SimpleJdbcCall
-
50Spring JDBC: PracticeVideo lesson
Spring JDBC packages overview
Practical code examples
Configuration of dependency for Spring JDBC
Configuration of required beans for Spring JDBC
JdbcTeamplate example
NamedParameterJdbcTemplate example
SimpleJdbcInsert example
SimpleJdbcCall example
Batch update with SqlParameterSourceUtils
RowMapper

External Links May Contain Affiliate Links read more