数据迁移-jdbc

2023-11-14

1.jdbc工具类

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Properties;

public class PropertyUtils {

	public static Properties getProp(String propName){
		  Properties prop = new Properties();     
	        try{
	            //读取属性文件a.properties
	            InputStream in = new BufferedInputStream (new FileInputStream(propName));
	            prop.load(in);     ///加载属性列表
	           /* Iterator<String> it=prop.stringPropertyNames().iterator();
	            while(it.hasNext()){
	                String key=it.next();
	                System.out.println(key+":"+prop.getProperty(key));
	            }*/  //迭代获取key及value
	            in.close();
	        }
	        catch(Exception e){
	            e.printStackTrace();
	        }
			return prop;
	}
}

2.单表迁移方法

package com.huateng.flowsharp;

import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Types;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Properties;
import java.util.Set;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class 单表数据迁移 {

	private static final Logger logger = LoggerFactory.getLogger(单表数据迁移.class);

	private static Map<String, Object> table_Map = new LinkedHashMap<String, Object>();

	private static String table;

	private static String id;

	public static void main(String[] args) throws SQLException {
		table = args[0];
		id = args[1];
		logger.info("表名为:" + table + " id为" + id + "数据迁移开始");

		Connection conn = getConnection("zx_jdbc.properties");
		loadData(conn);
		Connection conn1 = getConnection("jc_jdbc.properties");
		writeData(conn1);

		logger.info("表名为:" + table + " id为" + id + "数据迁移结束");
	}

	public static void loadData(Connection conn) throws SQLException {
		logger.info("reading is start...");

		String sql = "SELECT * from " + table + " where id=?";
		PreparedStatement prestat = conn.prepareStatement(sql);
		prestat.setString(1, id);
		ResultSet result = prestat.executeQuery();
		ResultSetMetaData metaDatat = result.getMetaData();
		int columnCount = metaDatat.getColumnCount();

		while (result.next()) {
			for (int i = 1; i <= columnCount; i++) {
				String key = metaDatat.getColumnLabel(i);

				if (Types.VARCHAR == metaDatat.getColumnType(i)) {
					String value = result.getString(i);
					table_Map.put(key, value);
				}
				if (Types.NUMERIC == metaDatat.getColumnType(i)) {
					BigDecimal value = result.getBigDecimal(i);
					table_Map.put(key, value);
				}
			}
		}

		logger.info("reading is end...");
		conn.close();
	}

	public static void writeData(Connection conn) throws SQLException {
		logger.info("writing is start...");

		String sql = "insert into " + table + " (";

		Set<String> set = table_Map.keySet();
		for (String key : set) {
			sql += key + ",";
		}
		sql = sql.substring(0, sql.length() - 1);
		sql += ") values (";

		for (String key : set) {
			if (table_Map.get(key) instanceof String) {
				sql += "'" + table_Map.get(key) + "'" + ",";
			} else if (table_Map.get(key) instanceof BigDecimal) {
				sql += table_Map.get(key) + ",";
			} else {
				sql += null + ",";
			}
			sql = sql.trim();
		}
		sql = sql.substring(0, sql.length() - 1) + ")";
		PreparedStatement prestat = conn.prepareStatement(sql);
		prestat.execute();
		logger.info("writing is end...");
		conn.close();
	}

	public static Connection getConnection(String jdbc) throws SQLException {
		Properties prop = PropertyUtils.getProp("src/test/java/config/" + jdbc);
		try {
			Class.forName(prop.getProperty("classDriver"));
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}

		String url = prop.getProperty("url");
		String username = prop.getProperty("username");
		String passwd = prop.getProperty("passwd");
		return DriverManager.getConnection(url, username, passwd);
	}
}

3.多表数据迁移

package com.huateng.flowsharp;

import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Types;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Properties;
import java.util.Set;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 执行完后将trunct环境卖出申请记账和买入申请记账迁移到本地jc环境
 * @author lichuang
 *
 */
public class 多表数据迁移 {
	
	private static final Logger logger = LoggerFactory.getLogger(多表数据迁移.class);
	
	
	private static String[] strArr = {"CPES_CLICK_DEAL_CONTRACT","CES_QUOTE_DEAL","CES_QUOTE_INFO"
			                ,"CPES_CLICK_DEAL_DETAILS","DPC_DRAFT_INFO","HTES_DRAFT_INFO"};
	
	
	private static Map<String,Object> contract_Map = new LinkedHashMap<String, Object>();
	private static Map<String,Object> deal_Map = new LinkedHashMap<String, Object>();
	private static Map<String,Object> quote_MAP = new LinkedHashMap<String, Object>();
	private static Map<String,Object> details_Map = new LinkedHashMap<String, Object>();
	private static Map<String,Object> draft_Map = new LinkedHashMap<String, Object>();
	private static Map<String,Object> htestDraft_Map = new LinkedHashMap<String, Object>();
	
	private static String contractId = null;

	public static void main(String[] args) throws SQLException {
		
		logger.info("批次id为"+args[0]+"开始克隆");
		contractId = args[0];
		Connection conn = getConnection("zx_jdbc.properties");
		loadData(conn);
		Connection conn1 = getConnection("jc_jdbc.properties");
		writeData(conn1);
	}
	
	//读取数据
	public static void loadData(Connection conn) throws SQLException{
		logger.info("reading is start...");
		PreparedStatement prestat= null;
		
		Map map = null;
		for(String str:strArr){
			String sql = null;
			if(str.equals(strArr[0])){
				map = contract_Map;
				prestat= conn.prepareStatement("SELECT * from CPES_CLICK_DEAL_CONTRACT c where c.ID =?");
						
			}else if(str.equals(strArr[1])){
				map = deal_Map;
				prestat= conn.prepareStatement("SELECT * from CES_QUOTE_DEAL d where d.BUSS_CONTRACT_ID =?");
			}else if(str.equals(strArr[2])){
				map = quote_MAP;
				prestat= conn.prepareStatement("SELECT * from CES_QUOTE_INFO q where q.DEAL_ID in (SELECT d.ID from CES_QUOTE_DEAL d where d.BUSS_CONTRACT_ID =?)");
			}else if(str.equals(strArr[3])){
				map = details_Map;
				prestat= conn.prepareStatement("SELECT * from NBMS_ZX.CPES_CLICK_DEAL_DETAILS e where e.CONTRACT_ID =?");
			}else if(str.equals(strArr[4])){
				map = draft_Map;
				prestat= conn.prepareStatement("SELECT * from DPC_DRAFT_INFO d where d.ID in (SELECT e.DPC_DRAFT_ID from NBMS_ZX.CPES_CLICK_DEAL_DETAILS e where e.CONTRACT_ID =?)");
			}else if(str.equals(strArr[5])){
				map = htestDraft_Map;
				prestat= conn.prepareStatement("SELECT * from HTES_DRAFT_INFO h where h.DRAFT_NUMBER = (SELECT d.DRAFT_NUMBER from DPC_DRAFT_INFO d where d.ID in (SELECT e.DPC_DRAFT_ID from NBMS_ZX.CPES_CLICK_DEAL_DETAILS e where e.CONTRACT_ID =?))");
			}
			prestat.setString(1, contractId);
			
			ResultSet result = prestat.executeQuery();;
			ResultSetMetaData metaDatat = result.getMetaData();
			int columnCount = metaDatat.getColumnCount();
			
			while(result.next()){
				for (int i = 1; i <=columnCount; i++) {
					String key =metaDatat.getColumnLabel(i);

					if(Types.VARCHAR==metaDatat.getColumnType(i)){
						String value = result.getString(i);
						map.put(key, value);
					}if(Types.NUMERIC==metaDatat.getColumnType(i)){
						BigDecimal value = result.getBigDecimal(i);
						map.put(key, value);
					}
				}
			}
		}
		
		conn.close();
		logger.info("reading is end...");
	}
	
	//写数据
	public static void writeData(Connection conn) throws SQLException{
        logger.info("writing is start...");
	PreparedStatement prestat= null;
		
		Map map = null;
		for(String str:strArr){
			String sql = null;
			if(str.equals(strArr[0])){
				sql = "insert into CPES_CLICK_DEAL_CONTRACT (";
				map = contract_Map;
				
			}else if(str.equals(strArr[1])){
				sql = "insert into CES_QUOTE_DEAL (";
				map = deal_Map;
			}else if(str.equals(strArr[2])){
				sql = "insert into CES_QUOTE_INFO (";
				map = quote_MAP;
			}else if(str.equals(strArr[3])){
				sql = "insert into CPES_CLICK_DEAL_DETAILS (";
				map = details_Map;
			}else if(str.equals(strArr[4])){
				sql = "insert into DPC_DRAFT_INFO (";
				map = draft_Map;
			}else if(str.equals(strArr[5])){
				sql = "insert into HTES_DRAFT_INFO (";
				map = htestDraft_Map;
			}
			Set<String> set = map.keySet();
			for(String key:set){
				sql+=key+",";
			}
			sql=sql.substring(0,sql.length()-1);
			sql+=") values (";
			
			for(String key:set){
				 if (map.get(key) instanceof String) {
					 sql+="'"+map.get(key)+"'"+",";
				}else if(map.get(key) instanceof BigDecimal){
					sql+=map.get(key)+",";
				}else{
					sql+=null+",";
				}
				 sql = sql.trim();
			}
			sql = sql.substring(0, sql.length()-1)+")";
			prestat= conn.prepareStatement(sql);
			prestat.execute();
		}

		logger.info("writing is end...");
		conn.close();
	}
	
	//flowsharp/src/test/java/config/jc_jdbc.properties
	//获取jdbc连接
	public static Connection getConnection(String jdbc) throws SQLException {
		Properties prop = PropertyUtils.getProp("src/test/java/config/"+jdbc);
		try {
			Class.forName(prop.getProperty("classDriver"));
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		
		String url = prop.getProperty("url");
		String username = prop.getProperty("username");
		String passwd = prop.getProperty("passwd");
		return DriverManager.getConnection(url,username,passwd);
	}
	
}


4.包含blob大字段数据迁移

package com.huateng.flowsharp;
import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

import com.huateng.flowsharp.inner.entity.Process;

public class Blob处理类 {
	
	static String []str;
	static Blob blob ;

	public static void main(String[] args) throws Exception {
		
		
		String []str = {"f109f9d0bec44ef1a1ae21159862cfd4"};
				for (String processId:str) {
					writeDate(processId);
				}
		
	}
	
	public static void writeDate(String processId) throws Exception {
		com.huateng.flowsharp.inner.entity.Process obj =null;
		try {
			Connection conn = getConnection();
			Statement stat = conn.createStatement();
			String sql = "SELECT * from FLOWSHARP_ZX.TBL_SERPROCESS s where s.PROCESS_ID = "+"'"+processId+"'";
			stat.execute(sql);
			ResultSet result = stat.getResultSet();
			getData(result);
		
		
			//ByteArrayOutputStream outStream = new ByteArrayOutputStream();
			
			//FileOutputStream output = new FileOutputStream(new File("C:/Users/lichuang/Desktop/test.txt"));
			
			
			/*InputStream in = blob.getBinaryStream();
			byte []data =new byte[4096];
			int count = -1;
			while((count = in.read(data,0,4096))!=-1){
				//output.write(data, 0, count);
				outStream.write(data, 0, count);
				
			}
			output.flush();
			output.close();*/
			//String content= new String(outStream.toByteArray(),"UTF8");
			//String content = new String(blob.getBytes((long)1, (int)blob.length()));
	
			  byte[] btArr =blob.getBytes((long)1, (int)blob.length());
			  ByteArrayInputStream bi = new ByteArrayInputStream(btArr);
		      ObjectInputStream oi = new ObjectInputStream(bi);
		      Process obj1 = (Process) oi.readObject();
		      bi.close();
		      oi.close();

			
			result.close();
			stat.close();
			conn.close();
			
	
			Connection conn1 = getConnection1();
			Statement stat1 = conn1.createStatement();
			String sql1 = "insert INTO FLOWSHARP_JC.TBL_SERPROCESS(TBL_SERPROCESS.PROCESS_ID, TBL_SERPROCESS.PROCESS_NAME, TBL_SERPROCESS.BIZ_ID, TBL_SERPROCESS.NODE_ID, TBL_SERPROCESS.NODE_NAME, TBL_SERPROCESS.PROCESS_BYTE, TBL_SERPROCESS.START_DATE, TBL_SERPROCESS.END_DATE, TBL_SERPROCESS.STARTED_USER, TBL_SERPROCESS.MODEL_ID, TBL_SERPROCESS.SUPER_PROCESS_ID, TBL_SERPROCESS.RUN_FLAG) VALUES"+
			"("+"'"+str[0]+"'"+","
				    +"'"+str[1]+"'"+","
				    +"'"+str[2]+"'"+","
				    +"'"+str[3]+"'"+","
				    +"'"+str[4]+"'"+","
				    +"empty_blob()"+","
				    +"'"+str[5]+"'"+","
				   
				    +"'"+str[7]+"'"+","
				    +"'"+str[8]+"'"+","
				    +"'"+str[9]+"'"+","
				    +"'"+str[10]+"'"+","
				    +"'"+str[11]+"'"+")";
			stat1.execute(sql1);
			
			ResultSet rs =stat1.executeQuery("select * from FLOWSHARP_JC.TBL_SERPROCESS s where s.PROCESS_ID  = "+"'"+processId+"'"+"for update");
			if(rs.next()){
				Blob b =rs.getBlob(6);
				
				   ByteArrayOutputStream bo = new ByteArrayOutputStream();
				      ObjectOutputStream oo = new ObjectOutputStream(bo);
				      oo.writeObject(obj1);
				      byte[]bytes = bo.toByteArray();
				      bo.close();
				      oo.close();
				      
				BufferedOutputStream os = new BufferedOutputStream(b.setBinaryStream(0));
				os.write(bytes);
				os.flush();
				os.close();
				stat1.close();
				conn1.close();
			}
			
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	
	public static void getData(ResultSet result) throws Exception{
		ResultSetMetaData metaDatat = result.getMetaData();
		int columnCount = metaDatat.getColumnCount();
	   
		for (int i = 1; i <=columnCount; i++) {
			if(i>1) System.out.print(",");
			System.out.print(metaDatat.getColumnLabel(i));
		}
		System.out.println();
		
		
		while(result.next()){
			str = new String[columnCount];
			for (int i = 1; i <=columnCount; i++) {
				if(i>1) System.out.print(",");
				  if("PROCESS_BYTE".equals(metaDatat.getColumnLabel(i))){
					   blob =result.getBlob(i);
				  }else{
					  str[i-1]=result.getString(i);
				  }
			}
			System.out.println();
		}
	}
	
	
	public static Connection getConnection() throws SQLException{
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		String url = "jdbc:oracle:thin:@ip:port/service";
		String username = "用户名1";
		String passwd = "密码1";
		
		return DriverManager.getConnection(url,username,passwd);
	}
	
	public static Connection getConnection1() throws SQLException{

		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		String url = "jdbc:oracle:thin:@ip:port/service";
		String username = "用户名2";
		String passwd = "密码2";
		
		return DriverManager.getConnection(url,username,passwd);
	}
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据迁移-jdbc 的相关文章

  • 在 Java 中连接和使用 Cassandra

    我已经阅读了一些关于 Cassandra 是什么以及它可以做什么的教程 但我的问题是如何在 Java 中与 Cassandra 交互 教程会很好 如果可能的话 有人可以告诉我是否应该使用 Thrift 还是 Hector 哪一个更好以及为什
  • Java Swing:从 JOptionPane 获取文本值

    我想创建一个用于 POS 系统的新窗口 用户输入的是客户拥有的金额 并且窗口必须显示兑换金额 我是新来的JOptionPane功能 我一直在使用JAVAFX并且它是不同的 这是我的代码 public static void main Str
  • 如何使用 Java 和 Selenium WebDriver 在 C 目录中创建文件夹并需要将屏幕截图保存在该目录中?

    目前正在与硒网络驱动程序和代码Java 我有一种情况 我需要在 C 目录中创建一个文件夹 并在该文件夹中创建我通过 selenium Web 驱动程序代码拍摄的屏幕截图 它需要存储在带有时间戳的文件夹中 如果我每天按计划运行脚本 所有屏幕截
  • Spring Batch 多线程 - 如何使每个线程读取唯一的记录?

    这个问题在很多论坛上都被问过很多次了 但我没有看到适合我的答案 我正在尝试在我的 Spring Batch 实现中实现多线程步骤 有一个包含 100k 条记录的临时表 想要在 10 个线程中处理它 每个线程的提交间隔为 300 因此在任何时
  • 如何使用 SparkR 1.6.0 写入 JDBC 源?

    使用 SparkR 1 6 0 我可以使用以下代码从 JDBC 源读取数据 jdbc url lt jdbc mysql localhost 3306 dashboard user
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • JAXb、Hibernate 和 beans

    目前我正在开发一个使用 Spring Web 服务 hibernate 和 JAXb 的项目 1 我已经使用IDE hibernate代码生成 生成了hibernate bean 2 另外 我已经使用maven编译器生成了jaxb bean
  • 我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗

    我正在开发一个 spring webflow 项目 我想我可以使用 HSQLDB 而不是 mysql 进行 junit 测试吗 如何将我的 mysql 数据库克隆到 HSQLDB 如果您使用 spring 3 1 或更高版本 您可以使用 s
  • 无法解析插件 Java Spring

    我正在使用 IntelliJ IDEA 并且我尝试通过 maven 安装依赖项 但它给了我这些错误 Cannot resolve plugin org apache maven plugins maven clean plugin 3 0
  • 禁止的软件包名称:java

    我尝试从数据库名称为 jaane 用户名 Hello 和密码 hello 获取数据 错误 java lang SecurityException Prohibited package name java at java lang Class
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • 总是使用 Final?

    我读过 将某些东西做成最终的 然后在循环中使用它会带来更好的性能 但这对一切都有好处吗 我有很多地方没有循环 但我将 Final 添加到局部变量中 它会使速度变慢还是仍然很好 还有一些地方我有一个全局变量final 例如android Pa
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • AWS 无法从 START_OBJECT 中反序列化 java.lang.String 实例

    我创建了一个 Lambda 函数 我想在 API 网关的帮助下通过 URL 访问它 我已经把一切都设置好了 我还创建了一个application jsonAPI Gateway 中的正文映射模板如下所示 input input params
  • 在 Mac 上正确运行基于 SWT 的跨平台 jar

    我一直致力于一个基于 SWT 的项目 该项目旨在部署为 Java Web Start 从而可以在多个平台上使用 到目前为止 我已经成功解决了由于 SWT 依赖的系统特定库而出现的导出问题 请参阅相关thread https stackove
  • 在 Maven 依赖项中指定 jar 和 test-jar 类型

    我有一个名为 commons 的项目 其中包含运行时和测试的常见内容 在主项目中 我添加了公共资源的依赖项
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分
  • 有没有办法为Java的字符集名称添加别名

    我收到一个异常 埋藏在第 3 方库中 消息如下 java io UnsupportedEncodingException BIG 5 我认为发生这种情况是因为 Java 没有定义这个名称java nio charset Charset Ch
  • JGit 检查分支是否已签出

    我正在使用 JGit 开发一个项目 我设法删除了一个分支 但我还想检查该分支是否已签出 我发现了一个变量CheckoutCommand但它是私有的 private boolean isCheckoutIndex return startCo
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List

随机推荐

  • python中save 函数_超全Python图像处理讲解!花五天才整理的!

    文章目录1 1 打开图片和显示图片 1 2 创建一个简单的图像 1 4 图像旋转和格式转换 三 ImageChops模块 图像合成 四 ImageEnhance模块 色彩 亮度 Pillow模块讲解 一 Image模块 1 1 打开图片和显
  • ngnix配置集群负载均衡——upstream模块

    测试包下来让他以守护进程的方式运行 nohup java jar demo 1 jar nohup java jar demo 2 jar 阿里云盘 测试所需要的两个jar包 https www aliyundrive com s XMYx
  • 如何创建Silverlight 项目

    Silverlight Silverlight Tools 您可以使用已经掌握的技术和熟悉的工具创建基于 Silverlight 的应用程序 本主题介绍开发用于 Silverlight 3 的应用程序时可使用的各种工具 本主题包括下列各节
  • Markdown使用(MarkdownPad2 表格不显示处理)

    MarkdownPad2 表格不显示处理 1 添加表格的扩展 工具 选项 Markdown Markdown处理器 改为 Markdown 扩展 即可 2 在设置的过程中要注册markdownpad2 邮箱 Soar360 live com
  • MySQL之索引的使用

    SQL CREATE INDEX 语法 在表上创建一个简单的索引 允许使用重复的值 CREATE INDEX index name ON table name column name 如果您希望以降序索引某个列中的值 您可以在列名称之后添加
  • Spring之BeanFactory学习笔记

    类图 一 注解 The root interface for accessing a Spring bean container BeanFactory 是获取IOC容器的根接口 提供了IoC容器所应该遵循的最基本的服务契约 IoC容器实际
  • DC综合完整脚本以及操作实例

    脚本最终成品 synopsys dc setup与syn script tcl 前面的文件定义各种库以及各种搜索路径 后者定义综合的约束以及输出结果文件 启动dc dc会自动的加载第一个文件 其中定义了各种路径以及库 默认用的是TSMC90
  • Vmware vSphere 5.0实战教程之一 vSphere高级应用测试环境搭建

    转载至 http andygao blog 51cto com 323260 839909 我们知道 vSphere的 vMotion HA FT等高级应用 必须在多网卡 独立存储的环境中使用 前面的系列教程中 详细的讲解了如何添加VMKe
  • STL函数模板入门

    Unit01 模板起源 01 C 为静态类型语言 这种语言有很多的数据类型 基本类型 类类型 在效率和类型安全上是无可比拟的 但这种语言在很大程度上也给程序员编写通用代码带来瓶颈 使程序员不得不为每一种数据类型编写完全相同或近乎完全相同的代
  • git提交代码会报 vue-cli-service lint found some errors. Please fix them and try committing again

    转载 https blog csdn net j15533415886 article details 92003047 转载 https blog csdn net qq 42180156 article details 10248098
  • web-view 调用微信小程序的方法

    1 1api文件夹下新建api js 获取微信公众号配置授权 后端提供接口 initConfig url gt return API GET api getJsapiSignature url url 1 2 utils文件夹下新建一个js
  • 数据结构day3(2023.7.17)

    一 Xmind整理 二 课上练习 练习1 时间复杂度 时间复杂度 只保留最高阶 f n 3 n 3 n 2 100 n T n O 3 n 3 n 2 100 n O 3 n 3 O n 3 1 gt O 1 常数阶 int t a 1 a
  • 使用百度地图JavaScript实现驾车/公交/步行导航功能

    1 2 3 4 5
  • 【语义分割】12、Fully Attentional Network for Semantic Segmentation

    文章目录 一 背景和动机 二 方法 三 效果 出处 AAAI2022 一 背景和动机 语义分割中 non local NL 的方法起到了很好了捕捉 long range 信息的作用 大致可分为 Channel non local 和 Spa
  • 使用insert into和insert overwrite插入数据的区别【Hive or Odps】

    1 创建一个测试表insert test 标识创建表insert test 默认新增id列 并插入一条数据1 CREATE TABLE insert test AS SELECT 1 AS id 2 插入数据 使用insert into插入
  • 记录:查看ubuntu版本信息。

    cat proc version uname a lsb release a WSL Ubuntu 20 04运行结果 lsb release a 查看Release和Codename uname a 内核版本和操作系统32 64位 cat
  • 32位机内存管理(下)

    既然这样 段描述符表放在那里呢 80386中引入了两个新的寄存器来管理描述符表 一个是48位的全局描述符表寄存器GDTR 一个是16位的局部描述符表寄存器LDTR 那么 为什么有两个描述符表寄存器呢 GDTR指向的描述符表为全局描述符表GD
  • 数据库原理 封锁的粒度

    1 封锁粒度是什么 封锁对象的大小称为封锁的粒度 封锁对象 逻辑单元 物理单元 2 选择封锁粒度的原则 封锁粒度和系统的并发度 系统的开销密切相关 封锁的粒度越大 数据库能够封锁的数据单元就越少 并发度就越小 系统开销也就越小 封锁的粒度越
  • Android三维模型解决方案

    1 原生OpenGL ES 无需多说 虽然OpenGL已经出来这么多年了 但无疑还是现在普及最广的 尤其在移动端 所以用原生OpenGL ES方案可以解决 2 jpct 最推荐 JPCT是一款基于OpenGL技术开发的3D图形引擎 PC环境
  • 数据迁移-jdbc

    1 jdbc工具类 import java io BufferedInputStream import java io FileInputStream import java io InputStream import java util