Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
427 views
in Technique[技术] by (71.8m points)

java代码规范不允许使用魔法值,那么对于mysql查询中的字段名怎么处理

java编程规范中不允许使用魔法值,那么对于mysql,es查询,是对每个查询条件,查询结果都定义一个po对象吗,还是怎么处理。

如果每个查询结果都定义一个对象,会不会造成对象非常多。
如果不定义po对象,使用map获取返回结果,在取得时候又会在代码里留下魔法值。

例如:
select sum(money) as sum_money,count(id) as order_num from orders
例如上面的sql查询,我如果返回map的话,我只能使用map.get("sum_money")取出结果,这里sum_money就是硬编码的魔法值了


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

不明白,为何使用map获取查询结果就会出现魔法值?你的意思是,数据库有某些字段的值是0表示什么,1表示什么之类的吗?这种字段可以认为其值为枚举类型。

你可以在java中定义各种枚举类型,然后用枚举类型和map中的数据进行比较,就可以避免魔法值。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...