(注意:以下属于个人日常工作总结,思路梳理。细节处难免会有差错,欢迎指正)
一、任务描述:
——用 sftp每天定时到服务器指定路径下,拿到当天最新数据文本文件。按照一定要求,将文本文件解析成所需要的信息 覆盖到数据库中(oracle)。
——用到工具:SftpUtil、UUIDUtil
<!--sftp依赖-->
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.54</version>
</dependency>
——可能涉及到的技术:
①springboot框架
——文本文件
所需字段:
二、代码展示
1、目录如下(无关目录已划去):
entity:实体类(包含要求解析的字段)
service层:核心代码逻辑
task:定时任务(每天凌晨3点采集数据)
utils:工具类
resources:配置信息(服务器配置信息,生产环境prod,开发dev)
2、entity:
@Data
@Entity
@Table(name = "RM_DEVICE_4A")
public class DeviceFourAEntity implements Serializable {
private static final long serialVersionUID = 5702672284696028391L;
@Id
@GenericGenerator(name = "uuid", strategy = "uuid")
@GeneratedValue(generator = "uuid")
private String id;
@Column(name = "DEVICE_NAME")
private String deviceName;
@Column(name = "IPADDRESS")
private String ipAddress;
@Column(name = "VENDOR")
private String vendor;
@Column(name = "DEVICE_TYPE")
private String deviceType;
@Column(name = "CITY")
private String city;
@Column(name = "PROFESSION")
private String profession;
@Column(name = "INSERT_TIME")
private String insertTime;
}
3、service层
IDeviceFourAService 接口 (注意命名)
/**
*接口
*/
public interface IDeviceFourAService {
int managerFourA();
}
DeviceFourAServiceImpl(方法实现类)
@Slf4j
@Service
public class DeviceFourAServiceImpl implements IDeviceFourAService {
@Autowired
private DeviceFourARepository deviceFourAReposi