\midrule
is a command defined by the Booktabs package. Include \usepackage{booktabs}
in your preamble to typeset your table. For \botrule, it is defined by some journals' package, so if you want to use it without specific journals' package, you need to change from \botrule to \bottomrule (\bottomrule is also defined by booktabs package).