Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Spring JDBC menggunakan file application.properties

Pertama, saya sarankan Anda mempelajari cara melakukannya tanpa application.properties mengajukan. Kita hidup di abad ke-21, di mana Spring-boot memungkinkan kita untuk mendeklarasikan jdbc dataSource sebagai @Bean dengan kredensial basis data di MySpringBootApplication kelas. Lihat cara melakukannya di sini

Kedua, saya sarankan untuk tidak menggunakan jdbcTemplate kecuali Anda tidak punya waktu. Tandai kata-kata saya, jika terjadi debug - itu akan menjadi mimpi buruk. Jadi coba gunakan Jdbc murni dengan penambahan konfigurasi pegas.

Contoh contoh cara melakukannya:

Antarmuka DAO Siswa

    public interface StundentDAO {

    void addStudent(String name, String surname);

    List<Student> findStudents();
}

Penerapan JdbcStudentDAO

    @Repository
    public class JdbcStudentDAO implements StudentDAO {

    //[IMPORTANT] import javax.sql.datasource package (?)
    private Datasource datasource;

    @Autowire
    public JdbcStudentDAO(Datasource datasource) {
        this.datasource = datasource;
    }

    @Override
    public void addStudent(String name, String surname) {
        String query = "INSERT INTO Students VALUES (?,?)";
        try(Connection connection = datasource.getConnection()) {
            try(PreparedStatement statement = connection.preparedStatement(query)) {
                statement.setString(1, name);
                statement.setString(2, surname);
                statement.executeUpdate();
            }
        } catch(SQLException e) {
            e.printStacktrace();
        }
    }

    @Override
    public List<Student> findStudents() {
        String query = "SELECT * FROM Students";
        Student student = null; //will be used soon as DTO
        List<Student> listOfStudents = null;
        try(Connection connection = datasource.getConnection()) {
            try(PreparedStatement statement = connection.preparedStatement(query)) {
                try(ResultSet rs = statement.executeQuery()) {
                    listOfStudents = new ArrayList<>();
                    while(rs.next()) {
                        student = new Student(
                            rs.getString("name");
                            rs.getString("surname");
                        );
                    }
                    listOfStudents.add(student);
                }
            }
        } catch(SQLException e) {
            e.printStacktrace();
        }
        return listOfStudents;
    }
} 

Harap diperhatikan, bahwa dataSource hanya melakukan konektivitas Database. (lihat tautan)

Semoga berhasil!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara menggabungkan regex + UPDATE di MySQL untuk menambahkan spasi ke FirstnameLastname

  2. Gagal terhubung ke mysql di 127.0.0.1:3306 dengan akses root pengguna ditolak untuk 'root'@'localhost' pengguna (menggunakan kata sandi:YA)

  3. Jalankan kueri mentah pada Konektor Loopback MySQL

  4. Cara Menyimpan Hasil Query MySQL ke File .CSV

  5. Hitung nilai yang ada sebelum dan sesudah jangka waktu tertentu