Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Spring JDBC sử dụng tệp application.properties

Đầu tiên, tôi khuyên bạn nên tìm hiểu cách thực hiện mà không cần application.properties tập tin. Chúng ta đang sống ở thế kỷ 21, nơi Spring-boot cho phép chúng tôi khai báo jdbc dataSource dưới dạng @Bean với thông tin đăng nhập cơ sở dữ liệu trong MySpringBootApplication lớp. Xem cách thực hiện tại đây

Thứ hai, tôi khuyên không nên sử dụng jdbcTemplate trừ khi bạn không có thời gian. Đánh dấu lời nói của tôi, nếu xảy ra gỡ lỗi - đó sẽ là cơn ác mộng. Vì vậy, hãy cố gắng sử dụng Jdbc với việc bổ sung cấu hình mùa xuân.

Ví dụ mẫu về cách thực hiện:

Giao diện StudentDAO

    public interface StundentDAO {

    void addStudent(String name, String surname);

    List<Student> findStudents();
}

Triển khai 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;
    }
} 

Xin lưu ý rằng dataSource chỉ kết nối Cơ sở dữ liệu. (xem liên kết)

Chúc các bạn thành công!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. phòng truy vấn mysql còn trống

  2. Cách tách các thẻ trong thẻ PHP XML MYSQL GCIDE khi để lại văn bản

  3. Chúng ta có thể kiểm soát thứ tự biểu thức LINQ với Skip (), Take () và OrderBy ()

  4. mysql_connect VS mysql_pconnect

  5. Hiển thị bản ghi từ cơ sở dữ liệu MySQL bằng JTable trong Java