spring boot query application example

Example 1: spring application properties mysql jpa

spring.datasource.url=jdbc:mysql://localhost:yourDatabase?serverTimezone=UTC
//set username and password as environment variables under application configuration so that the real ones won't be pushed to github, only their aliases: USERNAME and PASSWORD in this case. 
spring.datasource.username=${USERNAME} // instead of ${USERNAME} you may use a generic one as well, like 'root' but then it will be pushed to github with the app so anyone can see you username and password.
spring.datasource.password=${PASSWORD}
spring.jpa.hibernate.ddl-auto=create-drop //running after the first time (when the tables are created in the database) or later when you want the data remain for later tests you have to change the key word 'create-drop' to 'update' so that the data remains in place. Oops! the database itself without the tables needs to be created manually first.
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
spring.logging.level.org.hibernate.SQL=debug
spring.jpa.show-sql=true

Example 2: Manual Custom Queries in spring boot

public interface UserRepository extends JpaRepository<User, Long> {

  @Query(value = "SELECT * FROM USERS WHERE LASTNAME = ?1",
    countQuery = "SELECT count(*) FROM USERS WHERE LASTNAME = ?1",
    nativeQuery = true)
  Page<User> findByLastname(String lastname, Pageable pageable);
}

Tags:

Sql Example