可以获得数据库中指定的 Contact 的所有数据
当指定 id 的 Contact 不存在的时候，提示没有找到
如果获得了 contactId 就显示指定 id 的 Contact
查询出所有的 Contact
把按 id 查询 Contact 里的每个属性抽取到变量中
把显示 Contact 的代码放到数据库相关代码之后
把查询到的每一个 Contact 放到 Map, 然后统一放到 List 中
fix bug: 查询不到 Contact 的时候，不再打印 null 值
把显示所有 Contact 的代码从数据库相关代码中剥离开
把查询到的 Contact 放到 Map 里面
把按 id 获取 Contact 的代码抽取到方法 getContactById 中