[精讚] [會員登入]
522

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

你可能感興趣的文章

利用maven建立一個可執行的jar檔 利用maven建立一個可執行的jar檔

java lambda files filter java, files filter, lambda

Spring Boot Maven wrappers maven, mvnw, build command

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

keycloak 透過java client lib新增user 使用keycloak-admin-client lib maven <dependency> <gro

讀取特定資料夾下的xls檔 讀取特定資料夾下的xls檔

我有話要說

>>

限制:留言最高字數1000字。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

tmux 將終端機切割成多個視 窗 tmux, multiple terminal

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

centos 7 移机出現 dracut-initqueue timeout centos 7 移机出現 dracut-initqueue timeout 處理

ArrayList 想移除特定值 想移出water, 使用lambda 的方式如下 List<String> fruits = new Arr

臺中市雲端校務系統與Windows AD帳號整合(3) LDAP的基本概念