2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > java获取数据库数据保存到本地txt文件中

java获取数据库数据保存到本地txt文件中

时间:2023-05-24 15:00:02

相关推荐

java获取数据库数据保存到本地txt文件中

首先是Services

@Servicepublic class logServiceimpl implements logService {@Autowired@Qualifier("primaryJdbcTemplate")protected JdbcTemplate jdbcTemplate;@Overridepublic List<lockLog> getlog() {String sql="show OPEN TABLES where In_use > 0;";List<Map<String, Object>> list= jdbcTemplate.queryForList(sql);JSONArray jsonArray = new JSONArray();jsonArray.addAll(list);List<lockLog> lockLogList = jsonArray.toJavaList(lockLog.class);return lockLogList;}}

然后是Controller

@Componentpublic class runCron {@Resourceprivate logService logservice;@Value("${dir}")private String dir;@Scheduled(cron="0 0/1 * * * ?") //每一分钟执行一次public void getlog() throws IOException {List<lockLog> mapList = logservice.getlog();File file = new File(dir);if (!file.exists()) {file.createNewFile();}//true 禁止覆盖之前的数据FileWriter fileWriter=new FileWriter(file,true);PrintWriter fout = new PrintWriter(fileWriter);SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date date = new Date(System.currentTimeMillis());fout.write(formatter.format(date));String huanhang = System.getProperty("line.separator");fout.write(huanhang);for (int i = 0; i < mapList.size(); i++) {lockLog sql = (lockLog) mapList.get(i);String content = sql.getDatabase() + "\t" + sql.getTable() + "\t" + sql.getIn_use() + "\t" + sql.getName_locked();fout.write(content);huanhang = System.getProperty("line.separator");fout.write(huanhang);}fout.flush();fout.close();}}

最后是配置文件application.properties

dir=D:\\aaa.txtspring.datasource.primary.jdbc-url=jdbc:mysql://192.168.xx:xx/xxspring.datasource.primary.username=xxspring.datasource.primary.password=xxspring.datasource.primary.driver-class-name= com.mysql.cj.jdbc.Driver

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。