MyBatis的sql语句中表名order报错

  |   MyBatis Mysql

比方说订单表的时候查询表名是order,如果是sql语句中不加的符号,会出现报错的,因为是order是sql进行排序,不能出现sql关键词,所以需要加上的符号,这样不会出现报错。

在查询订单表:

SELECT * FROM order;

如果写上面的话,可能这样会报错

所以需要加上``的符号

SELECT * FROM `order`;

上面能够查询出来你想要订单表,是正确写法的

如果想用MyBatis的时候,不能写如下:

<!-- 查询未支付订单 -->
  <select id="findByPage" resultMap="BaseResultMap">
    SELECT id, order_num, pay_price
    FROM order
    WHERE order_status=1
  </select>

要改成正确的写法如下:

  <sql id="order">`order`</sql>

  <!-- 查询未支付订单 -->
  <select id="findByPage" resultMap="BaseResultMap">
    SELECT id, order_num, pay_price
    FROM <include refid="order" />
    WHERE order_status=1
  </select>