mysql到sqlite数据传输


在实际的工作中需要将mysql数据库表中的数据同步到sqlite对应的表中,主要有两种方法。第一种是使用Navicat里的数据传输,第二种是使用程序来实现。

第一种、程序实现

1、添加sqlite驱动

本项目是通过maven管理,在pom.xml中添加sqlite的驱动包依赖。

<dependency>
	<groupId>org.xerial</groupId>
	<artifactId>sqlite-jdbc</artifactId>
	<version>3.19.3</version>
</dependency>

2、复制模板文件

运用FileUtils来复制模板pad.db文件

String padPath = 'D:\\pad.db';
FileUtils.copyDirectory(new File(padPath),new File("c:\\pad.db");

3、建立sqlite连接

从mysql数据库中查询出拼接的字段,传输到sqlite数据库对应的表中。

//建立连接
Class.forName("org.sqlite.JDBC");
Connection c = DriverManager.getConnection("jdbc:sqlite:padPath" );
//设置为非自动提交
c.setAutoCommit(false);
//创建连接对象
Statement stmt = c.createStatement();
padSql = "SELECT * FROM user";
//查询mysql数据库中数据
padList = this.jdbcOperations.queryForList(padSql);
for (int i = 0; i < padList.size(); i++) {
		map = padList.get(i);
		sb = new StringBuilder();
		sb.append("INSERT INTO user(");
		sb.append("`id`, `name`, `sex`, `address`");
		sb.append(") VALUES(");	 
		sb.append("'").append(map.get("id")).append("',");
		sb.append("'").append(map.get("name")).append("',");
		sb.append("'").append(map.get("sex")).append("',");
		sb.append("'").append(map.get("address")).append("'");
		sb.append(")");
		stmt.addBatch(sb.toString());
	}
	//批量提交执行
	stmt.executeBatch();
	c.commit();
	//清除stmt1中积攒的参数列表
	stmt.clearBatch();

第二种、Navicat的数据传输

用Navicat连接mysql和sqlite数据库,可以通过Navicat自带的数据传输来实现数据的转移。

1、工具 --> 数据传输

在这里插入图片描述

2、源与目标数据库

这里选择源数据为mysql,目标数据库为sqlite
在这里插入图片描述
设置传输过程中出错继续
在这里插入图片描述

博客来源

【1】https://blog.csdn.net/winteror/article/details/10065047

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值