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;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.skt.ehs.mbs.db.maria.vo.FPElement;
import com.skt.ehs.mbs.fpbuilder._ble_indicator;
......@@ -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_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 {
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();
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()) {
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) {
MariaConnectionManager mngr = MariaConnectionManager.getInstance();
List<_ble_indicator> ret = Collections.emptyList();
......@@ -174,9 +193,9 @@ public class BLEFPBuilder {
}
// 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);
// deleteFPCellPerAP(ble_cell_id);
// Loop here ..*********************************************************************/
return true;
......
......@@ -5,21 +5,10 @@
<mapper namespace="com.skt.ehs.mbs.db.maria.dao.FPBLEBuildDAO">
<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>
<!--
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
a.AP_ID, a.RSSI
......@@ -35,19 +24,19 @@
AND t.collected_time = a.collected_time
AND t.sequence_num = a.sequence_num
</select>
<!--
Todo : MySQL Bulk insert
<insert id="insertRawDataAP" parameterType="RawDataAP" >
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})
</insert>
<insert id="insertEmployeeList" parameterType="java.util.List">
INSERT ALL
<foreach collection="list" item="element" index="index" >
INTO EMPLOYEE (id,name) values (#{element.id},#{element.name})
<insert id="insertFpBleData" parameterType="java.util.Map">
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)
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>
SELECT * FROM dual
</insert>
-->
</insert>
<delete id="deleteFpBleData" parameterType="int">
delete from fp_ble_data
where ble_cell_id = #{ble_cell_id}
</delete>
</mapper>
......@@ -7,7 +7,6 @@
<typeAliases>
<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="FPBLEBuildDAO" type="com.skt.ehs.mbs.db.maria.dao.FPBLEBuildDAO"/>
<typeAlias alias="_ble_indicator" type="com.skt.ehs.mbs.fpbuilder._ble_indicator"/>
</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