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

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页