Thymeleaf: 値を表示する
構文
変数式
例
# pタグを用いる場合 <p th:text="${変数名}"></p> # th: このタグでthymeleafを使うよーっている印 # ${変数名} controllerでattributeされた変数の値を表示する
メッセージ式
resourcest
フォルダ配下にmessages.properties
を作成し、定義したメッセージを表示する
フォルダ構成
src |-main |-java | | | Lresources |- messages.properties <- ここに作る # 関係あるフォルダしか記述してません、実際にはpom.xmlとかもあります
例
content.title=This is title content.message=This is message
# pタグを用いる場合 <p th:text="#{content.title}"></p> <p th:text="#{content.message}"></p>
Optionalについて
目的
JavaのOptiolanについて学んだのでメモ
Optional
用途
nullチェックを簡単に行いたい.
例
if文を用いてnullチェックを行う場合
String hoge = getHoge(); //このときnullが返ってきたときhogeはnullかもしれない if(hoge != null) { //ここでnullチェック System.out.println(hoge.length()); //hogeがnullじゃないのでlength()が安全に実行できる(null.length()ってならない) }
Optionalを使用する場合
Optinal<String> hogeOpt = Optional.ofNullable(getHoge()); // hogeをOptinalクラスでラップする // .ifPresent() : Optionalクラスの中がnullじゃないか確認 // nullならfalse // 存在するならtrueを返す hogeOpt.ifPresent(hoge -> System.out.println(hoge.length())); //値が存在するときに実行
まとめ
- Optional型にすることでコードを見たときにnullが返ってくる可能性を明示することができる
- if文などのnull判定ではブロックのネストが深くなることがあるがそれを避けることが可能
引用・参考文献
IntelliJでdebug時引数を渡して実行するとき
目的
引数を渡してプログラムを実行したい
方法
- IntelliJのメニューバー(ウィンドウの一番上に表示されるとこ)の"Run"を選択
- "Run"メニューより,"Edit Configurations..."を選択
- 出てきたタブの中にある"Program arguments"に実行時に渡したい引数を入力しておく
データモデルとは
データモデル
データベースを作成する際に,データ(情報)の格納のしかた
階層型データモデル
データ間を親子関係で表現する.
1つの上位データである親に対して子は複数存在するが,各子データは
1つの親データしか持つことができない.
メリット
アクセスルートが固定されているため、定型処理(決まった仕事) は処理効率がよい
デメリット
アクセスルートが固定できない処理(非定型処理)では、データアクセスが 複雑になってしまう
ネットワーク型データモデル
階層型データモデルの親子関係に加え,各子データが複数の親データを所持することができるデータモデル
メリット
データが相互に関連性をもっているため,階層型に比べ多様なデータアクセスが可能.
デメリット
構造が複雑になるため、データ構造を理解した上でプログラムを作成する必要がある.
リレーショナル型データモデル
2次元の表の形でデータを管理し、各表が所持するあるデータを互いに所持することで表を関連付けるデータモデル
メリット
構造がわかりやすい
扱いやすい
デメリット
プログラムが複雑化しやすいため,処理速度が遅くなる