Software-defined networking(SDN) is expected to dramatically simplify network control processes,enable the convenient deployment of sophisticated networking functions, and support user applications with guaranteed quality of service(Qo S). To achieve data packet transmission between two non-adjacent switches in SDN, an efficient route selection algorithm should be designed. In this paper, we consider the data transmission of multiple user flows over SDN. Under the assumption that flow splits at intermediate switches are allowed,we jointly study the route selection and flow allocation problem. To stress the problem of resource competition among various user flows, we apply network virtualization technology and propose a virtual network architecture based on the design of an optimal joint route selection and flow allocation algorithm. Jointly considering the transmission performance of multiple user flows and stressing the importance of energy consumption at transmission links and switches, we formulate the total energy consumption of user flows and design an optimization problem that minimizes the energy consumption, subject to data transmission and service requirement constraints of the flows. Because the formulated optimization problem is an NP-complete problem that cannot be conveniently solved, we transform it into a minimum-cost commodity flow problem and solve the problem by using an N-algorithm. Numerical results demonstrate the effectiveness of the proposed algorithm.