खोज…


परिचय

स्प्रिंग बूट का उपयोग SQL रिलेशनल डेटाबेस को बनाने और जारी रखने के लिए किया जा सकता है। आप स्प्रिंग बूट का उपयोग करके मेमोरी DataBase में H2 से कनेक्ट करने का विकल्प चुन सकते हैं, या शायद MySql DataBase से कनेक्ट करने का विकल्प चुन सकते हैं, यह पूरी तरह से आपकी पसंद है। यदि आप अपने DB के खिलाफ CRUD ऑपरेशन करना चाहते हैं, तो आप इसे JdbcTemplate बीन का उपयोग करके कर सकते हैं, यह बीन स्वचालित रूप से स्प्रिंग बूट द्वारा प्रदान किया जाएगा। स्प्रिंग बूट JDBC से संबंधित कुछ आमतौर पर उपयोग किए जाने वाले बीन्स के ऑटो कॉन्फ़िगरेशन प्रदान करके आपकी सहायता करेगा।

टिप्पणियों

आरंभ करने के लिए, आपके एसटी ग्रहण में नए -> स्प्रिंग स्टार्टर प्रोजेक्ट -> अपने मावेन निर्देशांक भरें -> और अगली निर्भरताएँ जोड़ें:

SQL टैब के तहत -> JDBC + जोड़ें MySql (यदि MySql आपकी पसंद है) जोड़ें।

मैसकल के लिए आपको MySql Java कनेक्टर को भी जोड़ना होगा।

आप स्प्रिंग बूट एप्लीकेशन में। फाइल में (आप स्प्रिंग बूट कॉन्फ़िगरेशन फाइल) आपको अपने डेटा स्रोत क्रेडेंशियल्स को MySqB DB में कॉन्फ़िगर करने की आवश्यकता होगी:

  1. spring.datasource.url
  2. spring.datasource.username
  3. spring.datasource.password
  4. spring.datasource.driver-वर्ग-नाम

उदाहरण के लिए:

spring.datasource.url=jdbc:mysql://localhost/test
spring.datasource.username=dbuser
spring.datasource.password=dbpass
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

संसाधन फ़ोल्डर के तहत अगली दो फाइलें जोड़ें:

  1. schema.sql -> हर बार जब आप अपना एप्लिकेशन चलाते हैं तो स्प्रिंग बूट इस फ़ाइल को चलाएगा, इसके अंदर आपको लगता है कि आप अपने DB स्कीमा को लिखेंगे, तालिकाओं और उनके संबंधों को परिभाषित करेंगे।

  2. data.sql -> हर बार जब आप अपना एप्लिकेशन चलाते हैं तो स्प्रिंग बूट इस फ़ाइल को चलाएगा, इसके अंदर, आप डेटा को लिखने के लिए मान लेते हैं, जिसे प्रारंभिक आरंभ के रूप में आपकी तालिका में डाला जाएगा।

स्प्रिंग बूट आपको JdbcTemplate सेम स्वचालित रूप से प्रदान करेगा ताकि आप तुरंत इसे इस तरह से उपयोग कर सकें:

@Autowired
private JdbcTemplate template;

किसी भी अन्य विन्यास के बिना।

schema.sql फ़ाइल

CREATE SCHEMA IF NOT EXISTS `backgammon`;
USE `backgammon`;

DROP TABLE IF EXISTS `user_in_game_room`;
DROP TABLE IF EXISTS `game_users`;
DROP TABLE IF EXISTS `user_in_game_room`;

CREATE TABLE `game_users`
(
    `user_id` BIGINT NOT NULL AUTO_INCREMENT,
    `first_name` VARCHAR(255) NOT NULL,
    `last_name` VARCHAR(255) NOT NULL,
    `email` VARCHAR(255) NOT NULL UNIQUE,
    `user_name` VARCHAR(255) NOT NULL UNIQUE,
    `password` VARCHAR(255) NOT NULL,
    `role` VARCHAR(255) NOT NULL,
    `last_updated_date` DATETIME NOT NULL,
    `last_updated_by` BIGINT NOT NULL,
    `created_date` DATETIME NOT NULL,
    `created_by` BIGINT NOT NULL,
    PRIMARY KEY(`user_id`)
);

DROP TABLE IF EXISTS `game_rooms`;

CREATE TABLE `game_rooms`
(
    `game_room_id` BIGINT NOT NULL AUTO_INCREMENT,
    `name` VARCHAR(255) NOT NULL,
    `private` BIT(1) NOT NULL,
    `white` BIGINT DEFAULT NULL,
    `black` BIGINT DEFAULT NULL,
    `opened_by` BIGINT NOT NULL,
    `speed` BIT(3) NOT NULL,
    `last_updated_date` DATETIME NOT NULL,
    `last_updated_by` BIGINT NOT NULL,
    `created_date` DATETIME NOT NULL,
    `created_by` BIGINT NOT NULL,
    `token` VARCHAR(255) AS (SHA1(CONCAT(`name`, "This is a qwe secret 123", `created_by`, `created_date`))),
    PRIMARY KEY(`game_room_id`)
);

CREATE TABLE `user_in_game_room`
(
    `user_id` BIGINT NOT NULL,
    `game_room_id` BIGINT NOT NULL,
    `last_updated_date` DATETIME NOT NULL,
    `last_updated_by` BIGINT NOT NULL,
    `created_date` DATETIME NOT NULL,
    `created_by` BIGINT NOT NULL,
    PRIMARY KEY(`user_id`, `game_room_id`),
    FOREIGN KEY (`user_id`) REFERENCES `game_users`(`user_id`),
    FOREIGN KEY (`game_room_id`) REFERENCES `game_rooms`(`game_room_id`)
);

सबसे पहले JdbcTemplate Boot App

@SpringBootApplication
@RestController
public class SpringBootJdbcApplication {

    @Autowired
    private JdbcTemplate template;
    
    @RequestMapping("/cars")
    public List<Map<String,Object>> stocks(){
        return template.queryForList("select * from car");
    }
    
    public static void main(String[] args) {
        SpringApplication.run(SpringBootJdbcApplication.class, args);
    }
}

data.sql

insert into game_users values(..., ..., ..., ...);
insert into game_users values(..., ..., ..., ...);
insert into game_users values(..., ..., ..., ...);


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow