定时任务:每隔一段时间从数据库获取最新记录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Interesting_Talent/article/details/85051738
package com.byhealth.act.firstactivity.scheduler;

/**
 * Created by XXX on 2017/10/17.
 */
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.util.List;
import java.util.ArrayList;
import com.byhealth.act.firstactivity.redis.JedisService;
import com.byhealth.act.firstactivity.vo.JldProductVO;
import org.springframework.beans.factory.annotation.Value;

@Component
public class Schedule{

    //数据库登录用户
    @Value("${DB_USER}")
    private String DB_USER;

    //数据库登录密码
    @Value("${DB_PASSWORD}")
    private String DB_PASSWORD;

    //数据库连接地址
    @Value("${DB_URL}")
    private String DB_URL;

    @Autowired
    protected JedisService jedisService;

    //每隔30分钟执行一次
   // @Scheduled(cron = "0 */30 * * * ?")
    public void findAllProd(){
        try{
            // 创建一个数据库连接
            Connection con = null;
            PreparedStatement pre = null;
            ResultSet result = null;
            try{
                // 加载Oracle驱动程序
                Class.forName("oracle.jdbc.driver.OracleDriver");
                String url = DB_URL;
                String user = DB_USER;
                String password = DB_PASSWORD;
                //获取连接
                con = DriverManager.getConnection(url, user, password);

                String sql = "select * from product where BRAND='XX'   ";
                pre = con.prepareStatement(sql);
                result = pre.executeQuery();

                List<JldProductVO> list = new ArrayList<JldProductVO>();
                 while (result.next()){
                     if(result.getString("brand_name")!=null){
                         JldProductVO vo = new JldProductVO();
                         vo.setCodeNum(result.getString("brand_name").toString());
                         list.add(vo);
                     }
                }
                jedisService.delString("jldList");
                //设置时长30分钟
                jedisService.setObject("jldList", list,1800);
            }catch (Exception e){
                e.printStackTrace();
            }finally {
                try{
                    if (result != null)
                        result.close();
                    if (pre != null)
                        pre.close();
                    if (con != null)
                        con.close();
                }catch (Exception e){
                    e.printStackTrace();
                }
            }

        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

猜你喜欢

转载自blog.csdn.net/Interesting_Talent/article/details/85051738