2021.12.16前端学习笔记

1.今天的任务是在数据库插入一条写死的数据

//EastScorePService.ts
import jsdom from "jsdom";
import jquery from "jquery";
import * as mysql from 'mysql'
import { HttpUtilEx } from "../../../utils/HttpUtilEx.js";
import { PageDao } from "../../../content/dao/PageDao.js";

import { PaginationDao } from "../../../content/dao/PaginationDao.js";
import { StringUtilEx } from "../../../utils/StringUtilEx.js";
import { ScoreDto } from "../dto/ScoreDto.js";
import { EastScoreService } from "../main/EastScoreService.js"

export class EastScorePService {
    private static instance: EastScorePService = null;
    public static getInstance(): EastScorePService {

        if (EastScorePService.instance == null) {
            EastScorePService.instance = new EastScorePService();
        }
        return EastScorePService.instance;
    }
    async calc() {
        let result = new Array();
        let test1 = new ScoreDto();
        let test2 = new ScoreDto();

        test1.setCode(600899);
        test1.setDate('2021-12-16');
        test1.setCount(2);
        result.push(test1);
        
        test2.setCode(6220899);
        test2.setDate('2021-12-15');
        test2.setCount(4);
        result.push(test2);
        EastScoreService.getInstance().importToDB(result);
    }
    //return result;
}

(
    async function () {

        let data = await EastScorePService.getInstance().calc();

    }

)();

//EastScoreService.ts
import * as mysql from 'mysql'
import { ScoreDto } from '../dto/ScoreDto.js';
import { StringUtilEx } from "../../../utils/StringUtilEx.js";

export class EastScoreService {
    private static instance: EastScoreService = null;
    public static getInstance(): EastScoreService {
        if (EastScoreService.instance == null) {
            EastScoreService.instance = new EastScoreService();
        }

        return EastScoreService.instance;
    }
    
    public async importToDB(data: Array<ScoreDto>) {
        let connection = mysql.createConnection({
            host: '182.42.131.246',
            port: 3306,
            user: 'root',
            password: 'abc123456',
            database: 'eastmoney'
        });
        
        await connection.connect();
        
        //#https://www.runoob.com/nodejs/nodejs-mysql.html
        let commitCount = 0;
        for (let i = 0; i < data.length && i < 5; i++) {
            let dto = data[i];
            let sqlData = [dto.getCode(), dto.getDate(), dto.getCount()];
            let sqlArray = new Array();
            sqlArray.push(sqlData[0]);
            sqlArray.push(sqlData[1]);
            
            let sqlStr = `insert into stock_score(Code,Date,Count)values(?,?,?)`;
            connection.query(sqlStr, sqlData, function (error, results, fields) {
                if (error)
                    throw error;
                console.log('The solution is: ', results);
                connection.commit();
                commitCount++;
                if (commitCount == data.length) {
                    connection.end();
                }
            });

        };

    }

}
 ScoreDto.ts
export class ScoreDto {
    private date: string;
    private code: number;
    private name: string;
    private count: number;
    
    public setName(name: string) {
        this.name = name;

    }
    public getName() {
        return this.name;
    }

    public setCode(code: number) {
        this.code = code;
    }
    public getCode() {
        return this.code;
    }

    public setDate(date: string) {
        this.date = date;
    }
    public getDate() {
        return this.date;
    }

    public setCount(count: number) {
        this.count = count;
    }
    public getCount() {
        return this.count;
    }
}

遇到的问题:1.直接在文件目录中.ts文件所在位置打开这三个文件,而不是打开工程DataAnalyzer,tsc转译不了。
解决办法:必须在右键单击,用Vscode打开DataAnalyzer,打开它的上一级下一级都会报错。
在这里插入图片描述错误操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.tsc时报错:Cannot use import statement outside a module
解决办法:打开工程里的package.json文件,添加"type":“module”,
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值