レコード200311

1598 ワード

一、パーセンテージを計算して、2桁の小数を保留する
//java             

// 
int a = 1;
int b = 26;
DecimalFormat decimalFormat = new DecimalFormat(".00");//                 2 ,  0  .
String rate = decimalFormat.format((float)a/b*100)+"%";//format        
System.out.println(rate);
//3.85%

// 
double online = Double.parseDouble("1");
double total = Double.parseDouble("26");
System.out.println(String.format("%.2f",online/total*100)+"%");
//3.85%

二、MyBatis+Mysql挿入データベースは自増主キーid値を返す
useGeneratedKeysとkeyPropertyの構成を加えると、前者はjdbcのgetGeneratedKeysメソッドを使用してプライマリ・キーを取得し、keyProperty設定のプロパティに値を割り当てるかどうかを設定します.後者はエンティティ・クラスのプライマリ・キーフィールドです(大文字と小文字は対応します).
 


Controllerの実際の応用:メソッドidを使用すると、パラメータにマッピングされたエンティティで直接使用するときにパラメータを直接使用するエンティティgetが値を取得します.
testService.insertSelective(info);//info      
id = info.getId();

三、left joinは複数の重複データをクエリーする(oracle、mysqlはいずれも現れる)
文使用:A LEFT JOIN B ON条件式
  • left joinはAテーブルをベースとし、Aテーブルは左テーブル、Bテーブルは右テーブルである.
  • 左テーブル(A)のレコードはすべて表示され、右テーブル(B)は条件式に該当するレコードのみが表示され、右テーブル(B)に条件に該当するレコードがなければ、記録不足箇所はNULLとなる.
  • left joinを使用すると、AテーブルとBテーブルに表示されるレコード数は1:1または1:0であり、Aテーブルのすべてのレコードが表示され、Bテーブルには条件に合致するレコードのみが表示されます.
  • ただし、Bテーブルが条件を満たすレコード数が1本より大きいと1:nとなるため、left join後の結果、レコード数がAテーブルのレコード数より多くなる.

  • したがって,解決策はいずれも1つの出発点から出発し,AテーブルとBテーブルに表示される記録数を1:1に対応させる.
    ソース:https://www.cnblogs.com/ampl/p/9081746.html