>1. Does JDBC recommended approach for this or do i need to consider other factors like FTP etc?
Yes JDBC adapter does this. You can go with it.
>2. If we can use JDBC, what would be the effective design methodology for this, i.e staging table, stored procedures, directly writing into DB etc.,
The design is purely based on the volume of data that you send to the tables. I have seen Stored procedure perform better than other options We run 20000 messages per day using jdbc adapter scenario and no issue.