fastjson读取json文件并存入mysql
时间: 2024-09-23 08:02:55 浏览: 40
Java读取json文件,并转化为map取值
Fastjson是一个由阿里巴巴开发的高性能功能完备的JSON库,它在中国非常流行,用于将JSON数据序列化和反序列化到Java对象之间。如果你想用Fastjson从JSON文件读取数据,并将其存储到MySQL数据库中,可以按照以下步骤操作:
1. **引入依赖**:
首先,在项目中添加Fastjson和JDBC(连接MySQL)的依赖。如果你使用的是Maven,可以在pom.xml文件中加入以下依赖:
```xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.75</version> <!-- 最新版本 -->
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version> <!-- MySQL最新驱动版本 -->
</dependency>
```
2. **解析JSON文件**:
使用Fastjson的`ObjectReader`类,你可以轻松地从JSON文件中读取数据。例如:
```java
String jsonString = Files.readString(Paths.get("path_to_your_json_file.json"));
JSONObject jsonObject = JSON.parseObject(jsonString);
```
3. **映射到Java对象**:
将JSON对象转换为对应的Java实体类,比如User类,假设有一个字段对应于数据库表的某个字段:
```java
User user = JSON.parseObject(jsonObject.toJSONString(), User.class);
```
4. **连接数据库**:
创建JDBC连接并执行SQL插入操作:
```java
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/your_database", "username", "password");
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO users (field1, field2) VALUES (?, ?)");
pstmt.setString(1, user.getField1());
pstmt.setString(2, user.getField2());
pstmt.executeUpdate();
```
5. **关闭资源**:
不忘记关闭连接、预编译语句等:
```java
pstmt.close();
conn.close();
```
阅读全文