[精讚] [會員登入]
741

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

你可能感興趣的文章

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

刪除資料夾內的檔案 lambda 一行文 Arrays.stream(new File("/folder/path").

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

Thread java thread

java lambda files filter java, files filter, lambda

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

隨機好文

vue.js component 在parent與child 傳值 component 在parent與child 傳值

臺中市校務雲端系統與Windows AD帳號整合(1) active directory,ldaps,雲端校務系統

臺中市雲端校務系統與Windows AD帳號整合(5) 安裝java環境

臺中市雲端校務系統與Windows AD帳號整合(7) 設定校端更改密碼程式及執行

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