什么是GMP模型?

  • G:gorotine(协程)
  • M:machine(内核线程)
  • P:processor(调度器)

Go语言运行时,通过核心元素G,M,P 和 自己的调度器,实现了自己的并发线程模型。调度器通过对G,M,P的调度实现了两级线程模型中操作系统内核之外的调度任务。

什么是泛型?

泛型程序设计(generic programming)是程序设计语言的一种风格或范式。泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。

最近有一个新的需求要在集团的一个内部系统中根据条件获取获取Excel数据并导入另外一个系统,要用到一些自动化相关内容,所以记录一下。

  • 批量修改A表中数据在B表中的映射数据
1
UPDATE tableA a LEFT JOIN tableB b on a.Aid=b.Bid set a.codeA=b.codeB

在oracle中语句如下

1
2
3
4
5
6
UPDATE tableA
SET tableA.codeA = (
  SELECT tableB.codeB
  FROM tableB
  WHERE tableA.Aid = tableB.Bid
);
  • mybatis操作oracle时批量foreach执行语句

mysql

1
2
3
4
5
6

<update id="batchUpdateXXX" parameterType="java.util.List">
        <foreach collection="list" item="item" index="index" separator=";">
            update YOUR_TABLE set COL1 = #{item.COL1},COL2 = #{item.COL2} where id = #{item.id}
        </foreach>
</update>

oracle

1
2
3
4
5
6

<update id="batchUpdateXXX" parameterType="java.util.List">
        <foreach collection="list" item="item" index="index" open="BEGIN" close=";end;" separator=";">
            update YOUR_TABLE set COL1 = #{item.COL1},COL2 = #{item.COL2} where id = #{item.id}
        </foreach>
</update>