Я работаю над сервером Spring загрузки, основанным на пространственных функциях.Mybatis mapper to Mysql Point object
И я застрял в матчевом матче с настроенным объектом.
Теперь я создал таблицу и один столбец startLocation, который является типом Point.
CREATE TABLE `vehicle`.`route` (
`createtime` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
`updatetime` TIMESTAMP NULL,
`startLocation` POINT NULL,
`id` INT(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`));
И мой путь объект Java является
@Table(name = "route")
public class Route extends Base {
Point startLocation;
public Location getStartLocation() {
return startLocation;
}
public void setStartLocation(Location startLocation) {
this.startLocation = startLocation;
}
....other fields
}
И мой Расположение объекта просто держит широты и долго, как двойное значение.
package com.supplyplatform.pojo;
public class Location {
double Lat;
double Long;
public double getLat() {
return Lat;
}
public void setLat(double lat) {
Lat = lat;
}
public double getLong() {
return Long;
}
public void setLong(double l) {
Long = l;
}
}
Мои RouteMapper.xml является
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.supplyplatform.mapper.RouteMapper">
<resultMap type = "com.supplyplatform.pojo.Route" id="Route">
<id column="id" jdbcType="INTEGER" property="id" />
<result column="startpoint" jdbcType="OTHER" property="startLocation" />
</resultMap>
</mapper>
И это не возвращает исключение typehandler. No typehandler found for property startLocation
Я провел там несколько дней. Заранее спасибо.
UPDATE: Я пытаюсь создать связь между вложенной результирующей картой. Новый файл XML является:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.supplyplatform.mapper.RouteMapper">
<select id="selectRoute" resultMap="Route">
SELECT *, X(startpoint) as x, Y(startpoint) as y FROM vehicle.vc_route
</select>
<resultMap type = "com.supplyplatform.pojo.Route" id="Route">
<id column="id" jdbcType="INTEGER" property="id" />
<association property="startLocation" resultMap="Location" />
</resultMap>
<resultMap type = "com.supplyplatform.pojo.Location" id="Location">
<result column="y" property="lat" />
<result column="x" property="long" />
</resultMap>
</mapper>
Но это всегда не возвращает исключения обработчика типа для Location startLocation
.
Я пытаюсь вложенную resultMap подход, но он всегда возвращает исключение Нет typehandler я обновил вопрос. – Mix
Не 'SELECT *' потому что в результате набор результатов содержит столбец с именем _startLocation_, а Mybatis пытается (автоматически) сопоставить его с свойством _startLocation_, потому что имя столбца совпадает с именем свойства. – blackwizard
, так что нужно поставить «Начальную точку местоположения» в качестве поля объекта Route? Исключение всегда выбрасывается отсюда. – Mix