Select or Retrieve data using Spring JDBC Template

 Step 1 

package com.in28min.springboot.learnjpaandhibernate.course;



public class Course {

private long id;

private String name;

private String author;

public Course() {

super();

}

public Course(long id, String name, String author) {

super();

this.id = id;

this.name = name;

this.author = author;

}

public long getId() {

return id;

}

public String getName() {

return name;

}

public String getAuthor() {

return author;

}

public void setId(long id) {

this.id = id;

}

public void setName(String name) {

this.name = name;

}

public void setAuthor(String author) {

this.author = author;

}

@Override

public String toString() {

return "Course [id=" + id + ", name=" + name + ", author=" + author + "]";

}


}



Step 2

package com.in28min.springboot.learnjpaandhibernate.course.jdbc;


import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.CommandLineRunner;

import org.springframework.stereotype.Component;


import com.in28min.springboot.learnjpaandhibernate.course.Course;


@Component

public class CourseJdbcCommandLineRunner implements CommandLineRunner {

@Autowired

CourseJdbcRepository courseJdbcRepository;


@Override

public void run(String... args) throws Exception {

courseJdbcRepository.insert();

courseJdbcRepository.insertFromObject(new Course(2, "Learn Spring Boot", "Irfan Khan"));

courseJdbcRepository.insertFromObject(new Course(3, "Learn Hibernate Boot", "Irfan Khan"));

courseJdbcRepository.deleteById(1);

System.out.println(courseJdbcRepository.findById(2));

System.out.println(courseJdbcRepository.findById(3));

}


}



Step 3

package com.in28min.springboot.learnjpaandhibernate.course.jdbc;


import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.jdbc.core.BeanPropertyRowMapper;

import org.springframework.jdbc.core.JdbcTemplate;

import org.springframework.stereotype.Repository;


import com.in28min.springboot.learnjpaandhibernate.course.Course;


@Repository

public class CourseJdbcRepository {


@Autowired

private JdbcTemplate springjdbcTemplate;

//""" will be known as text block

//(this allows us to retain the formatting for your queries which allow to easy to understand)

private static String INSERT_QUERY=

"""

insert into course (id,name,author)

values(1,'Learn Java', 'khanDev')

""";

private static String INSERT_QUERY_WITH_PARAM=

"""

insert into course (id,name,author)

values(?,?,?)

""";

private static String DELETE_QUERY =

"""

delete from course where id = ?

""";

private static String SELECT_QUERY =

"""

select * from course

where id = ?

""";

public void insert() {

springjdbcTemplate.update(INSERT_QUERY);

}

public void insertFromObject(Course course) {

springjdbcTemplate.update(INSERT_QUERY_WITH_PARAM, course.getId(), course.getName(), course.getAuthor());

}

public void deleteById(long id) {

springjdbcTemplate.update(DELETE_QUERY,id);

}

public Course findById(long id) {

//Resultset => Bean => Raw Mapper =>

return springjdbcTemplate.queryForObject(SELECT_QUERY,

new BeanPropertyRowMapper<>(Course.class), id);

}

}








Comments

Popular posts from this blog

Introduction of RESTful Web Service

Learn JPA and Hibernate

Implementing Dynamic Filtering for Rest API