[精讚] [會員登入]
293

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

你可能感興趣的文章

java.time 時間 instant java.time

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

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

Arrays.asList 後想再add出現 UnsupportedOperationException 這個問題真是搞死我了 List<String> fruits = Arrays.asList("a

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

java lambda files filter java, files filter, lambda

我有話要說

>>

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

訪客留言

[無留言]

隨機好文

java.time 時間 instant java.time

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

臺中市雲端校務系統與Windows AD帳號整合(2) 安裝Active Directory網域服務

臺中市雲端校務系統與Windows AD帳號整合(4) 雲端校務系統與Windows AD的架構

Spring Boot Maven wrappers maven, mvnw, build command