Skip to content

Instantly share code, notes, and snippets.

@upangka
Last active December 13, 2019 05:43
Show Gist options
  • Save upangka/edc61ebee6bf7cfcfd355c7061d4a63b to your computer and use it in GitHub Desktop.
Save upangka/edc61ebee6bf7cfcfd355c7061d4a63b to your computer and use it in GitHub Desktop.
jooq record 解析成map,使用map初始化record

重新创建一个新的Map

public class MapRecordTest {
	public static void main(String[] args) {
		UserCardRecord record = new UserCardRecord();
		Map<String, Object> map = record.intoMap();
		record.intoMap();
		map.put("userId",2);
		
		// create a new map that has humpName key
		Map<String,Object> myMap = new HashMap<>();
		map.entrySet().forEach(item->{
			String key = Util.humpToUnderline(item.getKey());
			myMap.put(key,item.getValue());
		});
		
		System.out.println(myMap);
		record.fromMap(myMap);
		System.out.println(record);
	}
}

output

{update_time=null, flag=null, card_no=null, money=null, surplus=null, create_time=null, user_id=2, exchang_surplus=null, expire_time=null, is_default=null, card_id=null, activation_time=null}
+-------+-------+------+-------+-----------+----------+------+-------+---------------+---------------+-----------+-----------+
|user_id|card_id|  flag|card_no|expire_time|is_default| money|surplus|activation_time|exchang_surplus|create_time|update_time|
+-------+-------+------+-------+-----------+----------+------+-------+---------------+---------------+-----------+-----------+
|     *2| {null}|{null}|{null} |*{null}    |    {null}|{null}| {null}|*{null}        |         {null}|{null}     |{null}     |
+-------+-------+------+-------+-----------+----------+------+-------+---------------+---------------+-----------+-----------+
public class MapRecordTest {
	public static void main(String[] args) {
		UserCardRecord record = new UserCardRecord();
		Map<String, Object> map = record.intoMap();
		record.intoMap();
		System.out.println(map);
		map.put("user_id",2);
		record.fromMap(map);
		System.out.println(record);
	}
}
/**
{user_id=null, card_id=null, flag=null, card_no=null, expire_time=null, is_default=null, money=null, surplus=null, activation_time=null, exchang_surplus=null, create_time=null, update_time=null}
+-------+-------+------+-------+-----------+----------+------+-------+---------------+---------------+-----------+-----------+
|user_id|card_id|  flag|card_no|expire_time|is_default| money|surplus|activation_time|exchang_surplus|create_time|update_time|
+-------+-------+------+-------+-----------+----------+------+-------+---------------+---------------+-----------+-----------+
|     *2| {null}|{null}|{null} |*{null}    |    {null}|{null}| {null}|*{null}        |         {null}|{null}     |{null}     |
+-------+-------+------+-------+-----------+----------+------+-------+---------------+---------------+-----------+-----------+

*/

Record intoMap是带下划线的,不会自动识别驼峰形式

不识别驼峰

public class MapRecordTest {
	public static void main(String[] args) {
		UserCardRecord record = new UserCardRecord();
		Map<String, Object> map = record.intoMap();
		record.intoMap();
		System.out.println(map);
		map.put("userId",2);
		record.fromMap(map);
		System.out.println(record);
	}
}
/**
{user_id=null, card_id=null, flag=null, card_no=null, expire_time=null, is_default=null, money=null, surplus=null, activation_time=null, exchang_surplus=null, create_time=null, update_time=null}
+-------+-------+------+-------+-----------+----------+------+-------+---------------+---------------+-----------+-----------+
|user_id|card_id|  flag|card_no|expire_time|is_default| money|surplus|activation_time|exchang_surplus|create_time|update_time|
+-------+-------+------+-------+-----------+----------+------+-------+---------------+---------------+-----------+-----------+
| {null}| {null}|{null}|{null} |*{null}    |    {null}|{null}| {null}|*{null}        |         {null}|{null}     |{null}     |
+-------+-------+------+-------+-----------+----------+------+-------+---------------+---------------+-----------+-----------+
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment