SptingBoot-MySQLデータベースをバインドする

1.データベーステストを作成し、テーブルuserを作成します。テーブルには、user_id user_name3歳のデータが含まれています

ここに写真の説明を挿入

2.SpringBootプロジェクトを作成します。SpringBootを参照してください-単純なプロジェクトの作成

3、pom.xmlファイルを構成します

        <!--引入jdbc支持-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

        <!--引入MySQL连接依赖包-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

4つ目は、src / main / resources /application.propertiesでデータソース情報を構成することです。

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=**********
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

5、UserServiceインターフェイスを作成します


public interface UserService {
    
    
    void create(String name, Integer age); //创建数据项
    void deleteByName(String name); //根据名称删除数据
    Integer getAllUsers(); //获取用户数目
    void deleteAllUsers();	//删除所有用户
}

6、UserServiceインターフェイスを実装します

package com.example.demo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl implements UserService {
    
    
    @Autowired
    private JdbcTemplate jdbcTemplate; //JDBC对象用于对数据库的操作

    @Override
    public void create(String name, Integer age) {
    
    
        jdbcTemplate.update("insert into USER(NAME, AGE ) values(?, ?)", name, age);
    }

    @Override
    public void deleteByName(String name) {
    
    
        jdbcTemplate.update("delete from USER where NAME = ?", name);
    }

    @Override
    public Integer getAllUsers() {
    
    
        return jdbcTemplate.queryForObject("select count(1) from USER", Integer.class);
    }

    @Override
    public void deleteAllUsers() {
    
    
        jdbcTemplate.update("delete from USER");
    }
}

JdbcTemplateでSQLステートメントを実行する方法は、大きく3つのカテゴリに分類されます。
実行:すべてのSQLステートメントを実行できます。戻り値がないため、通常、DDLステートメントの実行に使用されます。
update:INSERT、UPDATE、DELETEなどのDMLステートメントを実行するために使用されます。
queryXxx:DQLデータクエリステートメントに使用されます。

SQL分類:
SQLステートメントは、次の3つのカテゴリに分類できます。
DDL(データ定義言語)ステートメント:データ定義言語。これらのステートメントは、さまざまなデータセグメント、データベース、テーブル、列、インデックス、およびその他のデータベースオブジェクトの定義を定義します。一般的に使用される文のキーワードには、主にcreate、drop、alterなどがあります。
DML(Data Manipulation Language)ステートメント:データベースレコードの追加、削除、更新、クエリ、およびデータの整合性のチェックに使用されるデータ操作ステートメント。一般的に使用されるステートメントキーワードには、主に挿入、削除、更新、および選択が含まれます。(チェックの追加と変更)
DCL(データ制御言語)ステートメント:データ制御ステートメント。さまざまなデータセグメントの直接のアクセス許可とアクセスレベルを制御するために使用されます。これらのステートメントは、データベース、テーブル、フィールド、およびユーザーのアクセス権とセキュリティレベルを定義します。主な文のキーワードには、付与、取り消しなどが含まれます。

DDL文:
DDLは、データ定義言語の略語です。簡単に言うと、データベース内のオブジェクトを作成、削除、および変更するための操作言語です。DML言語との最大の違いは、DMLはテーブルの内部データのみを操作し、テーブルの定義、構造の変更、およびその他のオブジェクトを含まないことです。DDLステートメントは、データベース管理者(DBA)によってより一般的に使用され、一般的な開発者によって使用されることはめったにありません。
以下は、MySQLで一般的に使用されるDDLステートメントの使用法を紹介するいくつかの例です。

7つ目は、UserControllerクラスのデータベースデータを操作する


@RestController
class UserController {
    
    

    @Autowired
    private UserService userService;

    @RequestMapping("/demo3")
    public String getUserList() {
    
    

        userService.deleteAllUsers();
        userService.create("John", 15);
        userService.create("Alice", 16);
        userService.create("Tom", 18);
        userService.deleteByName("John");


        return "user num is " + userService.getAllUsers();
    }
}

おすすめ

転載: blog.csdn.net/peixin_huang/article/details/109150608