check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE PER_ID = 1' at line 1
sql 写错了吧

解决方案 »

  1.   

    public static void main(String[] args){
    SqlMap sqlMap = MyAppSqlConfig.getSqlMapInstance();
        Integer id = new Integer(2);
        try{
          //Select
          Person person =
          (Person)sqlMap.executeQueryForObject("getPerson", id);
          System.out.println("....person=" + person);
        
          // Update
          person.setId(3);
          person.setFirstName("Deny");
          person.setLastName("Liu");
          person.setBirthDate(new Date());
          person.setHeightInMeters(1.83); 
          person.setWeightInKilograms(86.36);
          System.out.println("....update=" + 
            sqlMap.executeUpdate("updatePerson", person));
          
          // Delete
          person.setId(4);
          System.out.println("....delete=" + 
            sqlMap.executeUpdate("deletePerson", person));
        
          // Create
          Person newPerson = new Person();
          newPerson.setId(1);
          newPerson.setFirstName("Clinton");
          newPerson.setLastName("Begin");
          newPerson.setBirthDate(new Date());
          newPerson.setHeightInMeters(1.83);
          newPerson.setWeightInKilograms(86.36);
          System.out.println("....insert=" + 
            sqlMap.executeUpdate ("insertPerson", newPerson));
        }catch(Exception e){
          e.printStackTrace();
        }
    }
      

  2.   


    在sqlmap文件里
    不是java程序里
      

  3.   

    <mapped-statement name="insertPerson">
      <![CDATA[
      INSERT INTO PERSON(
        PER_ID, 
        PER_FIRST_NAME, 
        PER_LAST_NAME,
        PER_BIRTH_DATE, 
        PER_WEIGHT_KG, 
        PER_HEIGHT_M) 
      VALUES (
        #id#,
        #firstName#, 
        #lastName#, 
        #birthDate#, 
        #weightInKilograms#,
        #heightInMeters#
      )
      ]]>
      </mapped-statement>  <mapped-statement name="updatePerson">
      <![CDATA[
      UPDATE PERSON SET 
        PER_FIRST_NAME = #firstName#,
        PER_LAST_NAME = #lastName#, 
        PER_BIRTH_DATE = #birthDate#,
        PER_WEIGHT_KG = #weightInKilograms#, 
        PER_HEIGHT_M = #heightInMeters#
      WHERE PER_ID = #id#
      ]]>
      </mapped-statement>    <mapped-statement name="deletePerson" >
      DELETE PERSON WHERE PER_ID = #id#
      </mapped-statement>
      

  4.   

    你用的是1.x版本的啊
    没用过
    我用的时候都2.x了DELETE PERSON WHERE PER_ID = #id#这个放在数据库里执行以下试试
      

  5.   

    不对,看id的值,应该是insert的时候出的问题
    执行以下insert试一下