FastJson相關介紹
問題解決辦法
實體類屬性名駝峰寫法,第一個駝峰前只有一個字母的屬性無法序列化,如:uName (無法序列化) userName (可以序列化)
環境:jdk1.8,junit 4.1.2, fastjson 1.1.26 mysql5.7
錯誤重現
*1建表語句
DROP TABLE IF EXISTS mtt_member_new; CREATE TABLE mtt_member_new ( id int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID', un_name varchar(255) NOT NULL COMMENT '姓名', user_mobile int(20) DEFAULT NULL COMMENT '電話', u_email varchar(255) DEFAULT NULL COMMENT '電子郵箱', PRIMARY KEY (id), UNIQUE KEY username (un_name,user_mobile) ) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8
*2實體類
private Integer id;
private String unName;
private Integer userMobile;
private String uEmail;
*3 test測試類
MttMemberNew member = mttMemberNewMapper.selectByPrimaryKey(11);
logger.info(JSON.toJSONStringWithDateFormat(member, "yyyy-MM-dd HH:mm:ss"));
*4 測試結果
[org.junit.Test]{"id":11,"unName":"東魁","userMobile":13605715555}
uEmail沒有顯示出來,可能是FastJson的BUG