---
# System prepended metadata

title: homework

---


# homework

## 在 Maven 專案中要使用 MariaDB 的步驟

1.找到相關 dependency，放入 pom.xml 中

```xml=
<dependency> 
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>3.0.7</version> <scope>compile</scope>
</dependency>
```

2.執行 Maven 的 reload、clean、package

3.在 application.properties 加上相關設定

```properties=
spring.datasource.url=jdbc:mariadb://localhost:8080/springboot_mariadb
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
```

## 請使用原生 SQL 語法回答以下問題

- ### 新增一個名為 training 的 DB

```sql=
CREATE DATABASE training;
```

- ### 新增一張名為 user 的 table，有 id、name、age 欄位

```SQL=
CREATE TABLE user{
    id INTEGER NOT NULL,
    name VARCHAR(12) ,
    age INTEGER
}
```

- ### 查詢全部 user

```SQL=
SELECT * FROM user;
```

- ### 查詢 name 是 Bill，age 是 17 歲的 user

```SQL=
SELECT * FROM user 
WHERE name='Bill' AND age=17;
```

- ### 新增三個 user

  - name 是 Brian，age 是 13 歲
  - name 是 Brian，age 是 20 歲
  - name 是 Brian，age 是 50 歲
  
```SQL=
INSERT INTO user (id, name, age)
VALUES (1, 'Brian', 13);
INSERT INTO user (id, name, age)
VALUES (2, 'Brian', 20);
INSERT INTO user (id, name, age)
VALUES (3, 'Brian', 50);
```

- ### 將 name 是 Brian，age 是 50 歲的 user 的 age 改完 60 歲

```SQL=
UPDATE user
SET age = 60
WHERE name = 'Brian' AND age=50;
```

- ### 刪除 name 是 Brian，age 是 60 歲的 user

```SQL=
DELETE FROM user
WHERE name = 'Brian' AND age=60;
```

- ### 計算出有幾個 name 是 Brian 的 user

```SQL=
SELECT COUNT(name) FROM user
WHERE name='Brian';
```

## 請使用 Stream 方法將 input 元素轉成 output 元素後 return

- input : petList = [“2. dog”, “”, “3. cat”, " ", “1. rabbit”]

- output : petList = ["1.rabbits, “2.dogs”, “3.cats”]

```java=
petList = petList.stream() 
    .filter(s -> s != null && !s.isBlank()) 
    .sorted() 
    .collector(Collectors.toList())
System.out.print("petList="+petList);
```
