[精讚] [會員登入]
596

spring boot 使用jdbc連接mariadb

spring boot, mariadb, jdbc, rowmapper

分享此文連結 //n.sfs.tw/16079

分享連結 spring boot 使用jdbc連接mariadb@igogo
(文章歡迎轉載,務必尊重版權註明連結來源)
2023-03-01 14:30:29 最後編修
2023-03-01 11:37:26 By igogo
 

 

連結並操作mariadb,

使用maven, 所以在 pom.xml裡加上

<!-- JDBC API -->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

<!-- https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client -->
<dependency>
	<groupId>org.mariadb.jdbc</groupId>
	<artifactId>mariadb-java-client</artifactId>
	<version>3.1.2</version>
</dependency>

 

application.preoperties

# Set here configurations for the database connection
spring.datasource.url=jdbc:mariadb://localhost:3306/demo
spring.datasource.username=USERNAME
spring.datasource.password=PASSWORD
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver

 

在mariadb裡有一table 名為user, 分兩個欄位, name及passwd

所以建立User的物件

User.java

public class User {
    private  String name;
    private  String passwd;

    public User() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPasswd() {
        return passwd;
    }

    public void setPasswd(String passwd) {
        this.passwd = passwd;
    }
}

 

使用RowMapper對應到資料庫中的 user資料表

public class UserRowMapper implements RowMapper<User> {


    @Override
    public User mapRow(ResultSet rs, int rowNum) throws SQLException {
        User user = new User();
        user.setName(rs.getString("name"));
        user.setPasswd(rs.getString("passwd"));
        return user;
    }
}

 

操作

   //create
        String sql = "INSERT INTO user values (:name,:passwd)";
        Map<String, String> params = new HashMap<>();
        params.put("name", "john");
        params.put("passwd", "123456");
        namedParameterJdbcTemplate.update(sql, params);

        //read
        List<User> users = jdbcTemplate.query("SELECT * FROM user", new UserRowMapper());
        users.forEach(user -> {

            System.out.println(user.getName()+","+user.getPasswd());
        });

        //query
       String sql = "SELECT * FROM user WHERE name=(:name)";
        Map<String, String> queryparams = new HashMap<>();
        queryparams.put("name", "igogo");
        users = namedParameterJdbcTemplate.query(sql, queryparams, new UserRowMapper());

 

 

 

END

你可能感興趣的文章

停止多執行緒 利用主程式呼叫多執行緒時, 要怎麼停止正在執行的多執行緒

使用poi 解析 docx 原先是想解析出在docx 中的文字跟圖片, 但是, 有些我們認為是圖片, 其實是用方程式表示, 實在是太麻煩了 就記錄一

ArrayList 與 HashMap 範例 public static void main(String[] args) { String titleIds = &

java.time 時間 instant java.time

[vue.js] 設定 content type 今天在wickt 端怎麼就是收不到vue.js 以post 傳過來的資料 找了好久才發現 application/jso

spring boot 使用jdbc連接mariadb spring boot, mariadb, jdbc, rowmapper

隨機好文

apache 反向代理 80轉443轉8080 apache, proxy pass

在docker裡跑spring boot+mongo(二) 使用docker-compose 管理多個container 前篇使用docker run 一次建一個container

網站無障礙規範 https://accessibility.ncc.gov.tw/News/Detail/3238?Category=4

關閉chrome不小心按到的訂閱通知 https://support.google.com/chrome/answer/3220216?hl=zh-Hant&

spring security 使用MD5 hash 認證 spring security 預設使用BCrypt , 但是舊的系統使用md5 hash, @Bean Passwor