markdown Doma 3でJava 11のRaw String Literalsに対応するとしたら

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown Doma 3でJava 11のRaw String Literalsに対応するとしたら相关的知识,希望对你有一定的参考价值。

# sql 要素に SQL の取得元を enum で指定する案
Raw String Literals に対応した場合、SQL取得は内部文字列、外部ファイル、自動生成の3モードとなる。  
`sql` 要素に enum で `STRING`, `FILE`, `AUTO` の3モードいずれかを指定するようにする。デフォルトは、`STRING`

## Select の場合

### SQLはアノテーションから読む

```java
@Select(sql = STRING, value = `select * from emp`)
Emp select();
```

エイリアスとして
```java
@Select(`select * from emp`)
Emp select();
```

### SQLはファイルから読む

```java
@Select(sql = FILE)
Emp select();
```

### @Select で sql=AUTO を指定した場合

#### コンパイルエラー(SelectにSQL自動生成がないため)

```java
@Select(sql = AUTO)
Emp select();
```

#### またはエラーにせず、Select のSQL自動生成(ユニークキー指定の1件検索のみ)をサポートする

```java
@Select(sql = AUTO)
Emp select(Integer id);
```
メソッド引数名は、エンティティのフィールド名に存在するものである必要がある。  
生成されるSQLは、
```sql
select /*%expand*/* from emp where id = /* id */1
```
これが実装されるとアノテーションの組み合わせによりコンパイルエラーにするパターンがなくなる。

## Insert の場合

### SQLはアノテーションから読む

```java
@Insert(sql = STRING, value = `insert into ...`)
int insert(Emp e);
```

エイリアスとして
```java
@Insert(`insert into ...`)
int insert(Emp e);
```

### SQLはファイルから読む

```java
@Insert(sql = FILE)
int insert(Emp e);
```

### SQLは自動で組み立てる

```java
@Insert(sql = AUTO)
int insert(Emp e);
```

以上是关于markdown Doma 3でJava 11のRaw String Literalsに対応するとしたら的主要内容,如果未能解决你的问题,请参考以下文章

markdown rbenvで指定したバージョンの捆绑を使う

markdown 画像のEXIF情报をコマンドラインで取得

markdown 卷曲でJWTの认证つき取リクエストを送る

markdown Ansibleのdocker_containerモジュールで没有指定命令

markdown エミュレータの位置情报をコマンドで设定する

markdown MAMPで“お使いのサーバーのPHPではWordPressに必要なMySQL拡张を利用できないようです。”