Spring Boot集積Spring JDBC


Spring JDBCモジュールは操作データベースへのアクセスを担当し、中小規模プロジェクトでSpringフレームワーク独自のJdbcTemplateを使用すると便利で迅速で、MyBatisフレームワークに少しパッケージ化されても全く負けません.
SpringエコのSpring Data JDBCとSpring Data JPAは、元のJDBCを強化し、データベースをクエリーしてエンティティにマッピングする機能を提供し、MyBatisと多くの類似点があります.Spring Dataに関する知識については新編を追加します.
  • Maven依存
  • を導入
    Spring JDBCを統合するにはpom.xmlに導入:
    
        org.springframework.boot
        spring-boot-starter-jdbc
        ${version}
    

    jdbc接続プールとデータベースドライバ:
    
    
        com.zaxxer
        HikariCP
        ${version}
    
    
    
        mysql
        mysql-connector-java
        ${version}
    
  • データソース
  • の構成
    アプリケーションを編集します.ymlファイル
    spring:
      datasource:
        type: com.zaxxer.hikari.HikariDataSource
        driver-class-name: com.mysql.cj.jdbc.Driver #        
        username: ${MYSQL_USERNAME:engrz} #         
        password: ${MYSQL_PASSWORD:passwd2021} #        
        url: jdbc:mysql://${MYSQL_HOST:mysqlhost}:${MYSQL_PORT:3306}/database?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allow #      url

    Spring Bootはhikari,dbcp 2,druidをサポートし、接続プールの他のパラメータを設定するにはSpring Boot Data Properties関連プロパティを参照します.
  • JdbcTemplate
  • を使用
    データソースを設定すると、プロジェクトで直接JdbcTemplateを使用できます.Springは自動的に注入されます.
    @Autowired
    private JdbcTemplate jdbcTemplate;

    JdbcTemplateの一般的な方法
    int update(String sql)新規または更新を実行し、影響レコード数を返す
    int[]batchUpdate(String...sql)バッチで新規または更新を実行し、影響レコード数を返す
    void execute(String sql)sqlを実行
    List query(String sql,RowMapper rowMapper)はクエリを行い、結果セットを返します.RowMapperとは、マッピングされたエンティティクラスを指し、カラム名に基づいて属性名を見つけて値を割り当てます.
    List>queryForList(String sql)クエリーして結果セットを返し、各データを1つのMapに配置します.
    MapqueryForMap(String sql)クエリー結果をMapに配置し、1つのデータを返す場合にのみ適用します.
    T queryForObject(String sql,Class requiredType)クエリー結果をオブジェクトに配置し、1つのデータを返す場合にのみ適用します.
    SqlRowSet queryForRowSet(String sql)クエリはRowSetオブジェクトを返し、一般的に汎用メソッドをカプセル化し、動的戻りマッピングオブジェクトをカスタマイズするために使用されます.
    以上、リロード方法がありますが、異なるシーンクエリーに適しており、簡単に使用すると詳しく説明しません.詳細と説明:JdbcTemplate
    明記しない限り、城を攻めるライオン・正のオリジナル文章で、転載は出典を明記してください.
    このリンクは次のとおりです.https://engr-z.com/97.html