mybatis/JDBC mysqlデータベースからのCHAR(1)タイプデータの読み込みが空です

627 ワード

同じselect文では、CHAR(1)タイプのフィールドで読み込まれたデータは空であり、他のタイプのフィールドではCHAR(2)タイプを含めて正しいデータを読み取ることができ、mysqlの中のデータをチェックしても、データは空ではありません.これはおかしいですね.本機にはmysqlが入っています.7,このような問題がないことを発見します.しかし、サーバー上のデータベースは勝手に変更することはできません.直接JDBCのdemoプログラムでデータベースを読むと、CHAR(1)タイプのフィールドデータが空なのか、同じ問題なのか、mybatisの問題ではないようです.目視はmysqlバージョンの問題かJDBCの問題です.
ソリューション
CHAR(2)タイプのフィールドに問題がない場合はconcat()を使用してみてください.
select concat(column_name, '#') as column_name from table_name where ...

こうやってnameフィールドはCHAR(2)で、2番目は'#'と固定され、そのまま迂回しました.やはりなぜその問題が起こったのか知りたい.