Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

स्प्रिंग JDBC application.properties फ़ाइल का उपयोग कर रहा है

सबसे पहले, मैं आपको application.properties . के बिना इसे करना सीखने की सलाह दूंगा फ़ाइल। हम 21वीं सदी में रहते हैं, जहां Spring-boot हमें jdbc dataSource घोषित करने की अनुमति देता है @Bean . के रूप में MySpringBootApplication . में डेटाबेस क्रेडेंशियल के साथ कक्षा। इसे कैसे करें देखें यहां

दूसरे, मैं jdbcTemplate . का उपयोग न करने की सलाह दूंगा जब तक आपके पास समय न हो। मेरे शब्दों को चिह्नित करें, अगर डिबग होता है - यह दुःस्वप्न होगा। तो वसंत विन्यास के अतिरिक्त शुद्ध जेडीबीसी का उपयोग करने का प्रयास करें।

नमूना उदाहरण इसे कैसे करें:

StudentDAO इंटरफ़ेस

    public interface StundentDAO {

    void addStudent(String name, String surname);

    List<Student> findStudents();
}

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;
    }
} 

कृपया ध्यान दें, कि dataSource केवल डेटाबेस कनेक्टिविटी करता है। (लिंक देखें)

शुभकामनाएँ!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. IF EXISTS UPDATE ELSE INSERT के साथ सिंटैक्स त्रुटि

  2. MySQL PHP ज़िप कोड तुलना विशेष रूप से दूरी

  3. रेल माइग्रेशन (MySQL) में, क्या आप निर्दिष्ट कर सकते हैं कि नया कॉलम किस स्थिति में होना चाहिए?

  4. MariaDB रूट उपयोगकर्ता के लिए पासवर्ड और unix_socket प्रमाणीकरण सक्षम करें?

  5. मैं टेबल पर ON DELETE बाधा कैसे जोड़ सकता हूं?