最近仕事で出会った9つの問題(2019-08-16)は、それぞれの問題に汗と水or血と涙を残した.
5954 ワード
仕事の問題
1、会社名「上海xx」
契約名「上海xx契約」以前に定められた照合関係は、契約名に会社名が含まれている場合、2者が照合しているとみなされます.ただし、会社名にはスペースが含まれているため、一致しません.
trimのような方法は、正解かもしれません.マッチング方式は、Linuxのファイルシステムでマッチングするのではなく、より情報化された方法で解決する必要があります.
2、linuxのあるディレクトリを検索し、同時に2つの文字列を含む
find/logs/system/-type f-iname"system.log.2019-07*"|xargs grep"雷哥"|grep"悪事を働いた"-i linxuファイル検索はあいまいなマッチングをサポートし、ファイル名は"syslog"
3、mysql結果セットResultSet列別名
ResultSetMetaData.getColumnNameとResultSetMetaData.getColumnLabelの違いは簡単に言えばクエリー文select cdである.id client_data_id from dualにとって
ResultSetMetaData.getColumnName(i)は、列名
id
ResultSetMetaDataを表示する.getColumnLabel(i)は、カラム別名client_data_id
参照を表示します.https://blog.csdn.net/u011089766/article/details/54141985 4、Map属性copyからBean
属性ソースがmapの場合はpopulateメソッドが必要です.普通のbeanならcopyPropertiesでいいです.(もちろんSpringはBeanUtils.copyPropertiesも持参しています)
org.apache.commons.beanutils.BeanUtils
Map map = Maps.newHashMap();
map.put("loginName", "123");
OaOrgMember oaOrgMember = new OaOrgMember();
BeanUtils.copyProperties(map, oaOrgMember );
BeanUtils.populate(oaOrgMember, map);
5、No converter found for return value of type:
public class Result {
private T result;
}
getresult , , ,
get set。
2 , , 。
, JSON 。
2 get/set , json , , 。
/* public T getresult() {
return result;
}
public void setresult(T result) {
this.result = result;
}
*/
// 2
public T getResult() {
return result;
}
public void setResult(T result) {
this.result = result;
}
}
6、mavenパッケージ
maven dev、pre、pro 3 。
maven dev, dev 。
,maven -Ppre, ,pre 。
, , maven dev, 。
, 。
: maven install , -P dev 。
:pre , pre 。
Eclipse target , , -Pdev -P ,
, 。
7、 さcopy シーンとコード
: 10 。
, 1 tree 。
, 1 。
, 。
, 2 , OrgMember ,
List 。
: copy。2 , , 。
, 。
// OA , 1 , 2
private OrgMemberList findAllJuniorMemberList(String superiorUsername, List allOrgMemerList) {
Map orgMemberMap = JavaKit.listToMap(allOrgMemerList, "loginName");
// oa , , ,
OrgMember superiorOrgMember = orgMemberMap.get(superiorUsername);
if (superiorOrgMember == null) {
log.error("findAllJuniorMemberList,superiorOrgMember is null,superiorUsername={}", superiorUsername);
return null;
}
List newList = depCopy(allOrgMemerList);
// id,
Long superiorId = superiorOrgMember.getId();
List juniorMemberList= doFindJuniorMemberList(superiorId, allOrgMemerList,false);
List juniorMemberTreeList= doFindJuniorMemberList(superiorId, newList,true);
OrgMemberList orgMemberList = new OrgMemberList();
orgMemberList.setJuniorMemberTreeList(juniorMemberTreeList);
orgMemberList.setJuniorMemberList(juniorMemberList);
return orgMemberList;
}
copy
// , Serialiable
public static List deepCopy(List srcList) {
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
try {
ObjectOutputStream out = new ObjectOutputStream(byteOut);
out.writeObject(srcList);
ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray());
ObjectInputStream inStream = new ObjectInputStream(byteIn);
List destList = (List) inStream.readObject();
return destList;
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
8 Mybatis(MybatisPlus)データソースまたは データベース
OA , 。
。
OA 。
, MybatisPlus ,CRUD , ,
, 。 , , 。
, 。
, , 。
, , 。
9プロジェクト フォームを システムOAへ
OA 。
, 。
“ ”, Linux 。
,“ ” 。
OA , “URL”, Linux ,
OA。
: , 。
OA , , 。
, , 。
OA :“ ”
:
a、 , , , 。 。 b、 , ok
c、 , ,
d、“ ” , 。
, 。
, , 。
e、 , , 。
,
f、 , , 1 。
, , , , 。
, 。
, , 。
, , 55M, 。
PDF, , “ ”, ?
, , ,5M , PDF , 10M。
PDF , “ ” , ,
PDF 。
:
a. , 。
b. OA, , , 。
c. OA , URL。
( OA , )