Commit d28bc3ca authored by jaehyu's avatar jaehyu

mariadb insert of list of object done.

parent 7410a315
...@@ -2,6 +2,7 @@ package com.skt.ehs.mbs.db.maria.dao; ...@@ -2,6 +2,7 @@ package com.skt.ehs.mbs.db.maria.dao;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import com.skt.ehs.mbs.db.maria.vo.FPElement; import com.skt.ehs.mbs.db.maria.vo.FPElement;
import com.skt.ehs.mbs.fpbuilder._ble_indicator; import com.skt.ehs.mbs.fpbuilder._ble_indicator;
...@@ -20,8 +21,7 @@ public interface FPBLEBuildDAO { ...@@ -20,8 +21,7 @@ public interface FPBLEBuildDAO {
@Param("ble_cell_coordi_x1")int ble_cell_coordi_x1, @Param("ble_cell_coordi_y1")int ble_cell_coordi_y1, @Param("ble_cell_coordi_x1")int ble_cell_coordi_x1, @Param("ble_cell_coordi_y1")int ble_cell_coordi_y1,
@Param("ble_cell_coordi_x2")int ble_cell_coordi_x2, @Param("ble_cell_coordi_y2")int ble_cell_coordi_y2); @Param("ble_cell_coordi_x2")int ble_cell_coordi_x2, @Param("ble_cell_coordi_y2")int ble_cell_coordi_y2);
/* Todo : MySQL Bulk insert
void insertFpBleData(FPElement fp_elem);
*/
void insertFpBleData(Map<String, Object> map);
void deleteFpBleData(int cell_id);
} }
\ No newline at end of file
...@@ -68,16 +68,35 @@ public class BLEFPBuilder { ...@@ -68,16 +68,35 @@ public class BLEFPBuilder {
return ret; return ret;
} }
private static boolean insertFPCellPerAP(List<FPElement> fp_cell_per_ap) { private static void insertFPCellPerAP(List<FPElement> fp_cell_per_ap) {
MariaConnectionManager mngr = MariaConnectionManager.getInstance(); MariaConnectionManager mngr = MariaConnectionManager.getInstance();
boolean ret = true;
// transform list to map
Map<String, Object> map = new HashMap<>();
map.put("list", fp_cell_per_ap);
try (SqlSession session = mngr.getSqlSessionFactory().openSession()) { try (SqlSession session = mngr.getSqlSessionFactory().openSession()) {
FPBLEBuildDAO mapper = session.getMapper(FPBLEBuildDAO.class); FPBLEBuildDAO mapper = session.getMapper(FPBLEBuildDAO.class);
// Todo : MySQL bulk insert
mapper.insertFpBleData(map);
session.commit();
}
}
private static void deleteFPCellPerAP(int cell_id) {
MariaConnectionManager mngr = MariaConnectionManager.getInstance();
try (SqlSession session = mngr.getSqlSessionFactory().openSession()) {
FPBLEBuildDAO mapper = session.getMapper(FPBLEBuildDAO.class);
mapper.deleteFpBleData(cell_id);
session.commit();
} }
return ret;
} }
private List<_ble_indicator> get_aplist_in_coordinate_per_rssidir (int d1, int d2, int x1, int y1, int x2, int y2) { private List<_ble_indicator> get_aplist_in_coordinate_per_rssidir (int d1, int d2, int x1, int y1, int x2, int y2) {
MariaConnectionManager mngr = MariaConnectionManager.getInstance(); MariaConnectionManager mngr = MariaConnectionManager.getInstance();
List<_ble_indicator> ret = Collections.emptyList(); List<_ble_indicator> ret = Collections.emptyList();
...@@ -174,9 +193,9 @@ public class BLEFPBuilder { ...@@ -174,9 +193,9 @@ public class BLEFPBuilder {
} }
// calculate mag_angle - 해당 cell의 각 수집방향에 대하여 수집된 지자기방향의 평균값으로 대표 // calculate mag_angle - 해당 cell의 각 수집방향에 대하여 수집된 지자기방향의 평균값으로 대표
// insert rows to db. // insert rows to db. (delete for to delete sample rows if there are sample raws in database)
insertFPCellPerAP(fp_cell_per_ap); insertFPCellPerAP(fp_cell_per_ap);
// deleteFPCellPerAP(ble_cell_id);
// Loop here ..*********************************************************************/ // Loop here ..*********************************************************************/
return true; return true;
......
...@@ -5,21 +5,10 @@ ...@@ -5,21 +5,10 @@
<mapper namespace="com.skt.ehs.mbs.db.maria.dao.FPBLEBuildDAO"> <mapper namespace="com.skt.ehs.mbs.db.maria.dao.FPBLEBuildDAO">
<select id="selectScalePixel" parameterType="map" resultType="double"> <select id="selectScalePixel" parameterType="map" resultType="double">
select scale_pixel from map_image WHERE campus_id=#{campus_id} and BUILDING_ID = #{building_id} and floor_id=#{floor_id} select scale_pixel from map_image WHERE campus_id=#{campus_id} and BUILDING_ID = #{building_id} and floor_id=#{floor_id}
</select> </select>
<!--
Todo compose complex SQL here...
List<_ble_indicator> selectAPinCoordiwDir(
@Param("lower_rssi_dir")int lower_rssi_dir,
@Param("upper_rssi_dir")int upper_rssi_dir,
@Param("ble_cell_coordi_x1")int ble_cell_coordi_x1,
@Param("ble_cell_coordi_y1")int ble_cell_coordi_y1,
@Param("ble_cell_coordi_x2")int ble_cell_coordi_x2,
@Param("ble_cell_coordi_y2")int ble_cell_coordi_y2);
-->
<select id="selectAPinCoordiwDir" parameterType="map" resultType="_ble_indicator"> <select id="selectAPinCoordiwDir" parameterType="map" resultType="_ble_indicator">
SELECT SELECT
a.AP_ID, a.RSSI a.AP_ID, a.RSSI
...@@ -35,19 +24,19 @@ ...@@ -35,19 +24,19 @@
AND t.collected_time = a.collected_time AND t.collected_time = a.collected_time
AND t.sequence_num = a.sequence_num AND t.sequence_num = a.sequence_num
</select> </select>
<!--
Todo : MySQL Bulk insert <insert id="insertFpBleData" parameterType="java.util.Map">
<insert id="insertRawDataAP" parameterType="RawDataAP" > INSERT INTO fp_ble_data (floor_id,building_id,campus_id,ble_cell_id,rssi_dir,ap_id,rssi_avg,rssi_std_dev,rssi_collect_cnt,rssi_min,rssi_max)
INSERT INTO raw_data_ap (tag_id, collected_time, sequence_num, ap_id, rssi, floor_id, building_id, campus_id) values(#{tag_id},#{collected_time},#{sequence_num},#{ap_id},#{rssi},#{floor_id},#{building_id},#{campus_id}) VALUES <foreach collection="list" item="item" separator=",">
( #{item.floor_id}, #{item.building_id}, #{item.campus_id}, #{item.ble_cell_id}, #{item.rssi_dir}, #{item.ap_id},
#{item.rssi_avg},#{item.rssi_std_dev},#{item.rssi_collect_cnt},#{item.rssi_min},#{item.rssi_max})
</foreach>
</insert> </insert>
<insert id="insertEmployeeList" parameterType="java.util.List"> <delete id="deleteFpBleData" parameterType="int">
INSERT ALL delete from fp_ble_data
<foreach collection="list" item="element" index="index" > where ble_cell_id = #{ble_cell_id}
INTO EMPLOYEE (id,name) values (#{element.id},#{element.name}) </delete>
</foreach>
SELECT * FROM dual
</insert>
-->
</mapper> </mapper>
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
<typeAliases> <typeAliases>
<typeAlias alias="RawDataTag" type="com.skt.ehs.mbs.db.maria.vo.RawDataTag"/> <typeAlias alias="RawDataTag" type="com.skt.ehs.mbs.db.maria.vo.RawDataTag"/>
<typeAlias alias="RawDataAP" type="com.skt.ehs.mbs.db.maria.vo.RawDataAP"/> <typeAlias alias="RawDataAP" type="com.skt.ehs.mbs.db.maria.vo.RawDataAP"/>
<typeAlias alias="FPBLEBuildDAO" type="com.skt.ehs.mbs.db.maria.dao.FPBLEBuildDAO"/>
<typeAlias alias="_ble_indicator" type="com.skt.ehs.mbs.fpbuilder._ble_indicator"/> <typeAlias alias="_ble_indicator" type="com.skt.ehs.mbs.fpbuilder._ble_indicator"/>
</typeAliases> </typeAliases>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment