1.思路

读取json资源文件

File转化为JSON串

JSON串转对象集合

遍历插入到数据库

2.工具(jar包)

使用spring-core,fastjson,commons-io,mysql

下面给出maven坐标

commons-io

commons-io

2.4

com.alibaba

fastjson

1.2.47

org.springframework

spring-core

4.2.0.RELEASE

mysql

mysql-connector-java

5.1.30

json文件

[{

"id": 41,

"name": "配合",

"artist": "薛之谦",

"url": "https://music.163.com/song/media/outer/url?id=1374061040.mp3",

"cover": "http://p1.music.126.net/JL_id1CFwNJpzgrXwemh4Q==/109951164172892390.jpg",

"lrc": "[00:03.523]作词 : 薛之谦/甘世佳\r\n[00:04.989]作曲 : 周以力/薛之谦\r\n[00:17.076]我接受驯化 我接受驯化\r\n[00:20.796]我伤口复杂 等待惩罚\r\n[00:24.877]我变成莲花 我变成莲花\r\n[00:28.843]世人要我脏 此外无他\r\n[00:32.877]叹息墙下 任人粉刷 要你对话 肆意喧哗\r\n[00:40.829]夺我白马 赐我利爪\r\n[00:44.927]这等变化你能更嗨吗\r\n[00:51.099]既妖魔化 又何惧真假 法外无它 我配合你一下 啊啊\r\n[00:59.106]面具下 谁也都伟大 恶能美化 那鹿就是马 愿你洁白无瑕\r\n[01:25.641]我们多融洽 我们多融洽\r\n[01:29.257]为逃避廉价 互相丑化\r\n[01:33.356]我梦见莲花 我梦见莲花\r\n[01:37.595]没习惯腐化 哪怕一霎\r\n[01:41.481]叹息墙下 脸皮涨价 谁先说话 忠于计划\r\n[01:49.375]分食白马 长出利爪\r\n[01:53.341]让我做个诱人的标靶 啊\r\n[02:01.726]既妖魔化 又何惧真假 法外无它 我配合你一下 啊啊\r\n[02:09.614]面具下 谁也都伟大 恶能美化 那鹿就是马 人人洁白无瑕\r\n[02:35.948]既妖魔化 没人信真假 我外无他 就配合你一下 啊啊 面具下 众生都伟大 自我矮化 还曲高和寡\r\n[02:56.566]若我火化 顺你意了吗 口诛笔伐 请你别停下 啊啊\r\n[03:05.805]不配伟大也不配笑话 最后一下 请妙笔生花 纪念那个傻瓜\r\n[03:22.597]制作人 : 周以力\r\n[03:22.948]编曲 : 周以力\r\n[03:23.257]吉他 : 张凇\r\n[03:23.530]贝斯 : 陈然然\r\n[03:23.783]鼓手 : 尹森\r\n[03:24.030]大提琴 : 郎莹\r\n[03:24.246]和音 : 薛之谦\r\n[03:24.446]录音师 : 鲍锐/王晓海\r\n[03:24.691]录音棚 : 北京有位音乐录音棚/北京录顶技录音棚\r\n[03:24.915]混音 : 鲍锐\r\n[03:25.113]母带 : 鲍锐"

}, {

"id": 40,

"name": "讲真的",

"artist": "曾惜",

"url": "https://music.163.com/song/media/outer/url?id=30987293.mp3",

"cover": "https://p1.music.126.net/cd9tDyVMq7zzYFbkr0gZcw==/2885118513459477.jpg",

"lrc": "[by:却连一句我爱你都不能说出口]\n[ti:讲真的]\n[ar:曾惜]\n[al:不要你为难]\n[by:冰城离殇]\n[00:00] 作曲 : 何诗蒙\n[00:01] 作词 : 黄然\n[00:18]今夜特别漫长\n[00:21]有个号码一直被存放\n[00:25]源自某种倔强\n[00:30]不舍删去又不敢想\n[00:33]明明对你念念不忘\n[00:37]思前想后愈发紧张\n[00:41]无法深藏\n[00:43]爱没爱过想听你讲\n[00:48]讲真的\n[00:51]会不会是我 被鬼迷心窍了\n[00:54]敷衍了太多 我怎么不难过\n[00:58]要你亲口说 别只剩沉默\n[01:03]或许你早就回答了我\n[01:06]讲真的\n[01:08]想得不可得 是最难割舍的\n[01:11]各自好好过 也好过一直拖\n[01:15]自作多情了 好吧我认了\n[01:19]至少能换来释怀洒脱\n[01:23]没丢失掉自我\n[01:42]今夜特别漫长\n[01:44]有个号码一直被存放\n[01:49]源自某种倔强\n[01:53]不舍删去又不敢想\n[01:57]明明对你念念不忘\n[02:01]思前想后愈发紧张\n[02:05]无法深藏\n[02:08]爱没爱过想听你讲\n[02:13]讲真的\n[02:15]会不会是我 被鬼迷心窍了\n[02:19]敷衍了太多 我怎么不难过\n[02:23]要你亲口说 别只剩沉默\n[02:27]或许你早就回答了我\n[02:30]讲真的\n[02:32]想得不可得 是最难割舍的\n[02:35]各自好好过 也好过一直拖\n[02:40]自作多情了 好吧我认了\n[02:44]至少能换来释怀洒脱\n[02:47]没丢失掉自我\n[03:04]讲真的\n[03:05]会不会是我 被鬼迷心窍了\n[03:09]敷衍了太多 我怎么不难过\n[03:14]要你亲口说 别只剩沉默\n[03:18]或许你早就回答了我\n[03:21]讲真的\n[03:22]想得不可得 是最难割舍的\n[03:26]各自好好过 也好过一直拖\n[03:30]自作多情了 好吧我认了\n[03:35]至少能换来释怀洒脱\n[03:38]没丢失掉自我\n"

}, {

"id": 39,

"name": "学猫叫",

"artist": "小潘潘(潘柚彤)",

"url": "https://music.163.com/song/media/outer/url?id=554191055.mp3",

"cover": "https://p1.music.126.net/D1Ov-XMAwUzsr16mQk95fA==/109951163256119128.jpg",

"lrc": "[00:00] 作曲 : 小峰峰\n[00:01] 作词 : 小峰峰\n[00:05]编曲:吕宏斌&塞米七\n[00:05]和声:小峰峰\n[00:05]混音:陈秋洁\n[00:05]制作人:小峰峰\n[00:05]唱片:麦袭时代\n[00:06]OP:百纳娱乐\n[00:06]\n[00:07]小潘潘:\n[00:08]我们一起学猫叫\n[00:10]一起喵喵喵喵喵\n[00:12]在你面前撒个娇\n[00:14]哎呦喵喵喵喵喵\n[00:16]我的心脏砰砰跳\n[00:18]迷恋上你的坏笑\n[00:21]你不说爱我我就喵喵喵\n[00:24]\n[00:24]小峰峰:\n[00:26]每天都需要你的拥抱\n[00:29]珍惜在一起的每分每秒\n[00:33]你对我多重要\n[00:35]我想你比我更知道\n[00:38]你就是我的女主角\n[00:41]\n[00:41]小潘潘:\n[00:42]有时候我懒的像只猫\n[00:45]脾气不好时又张牙舞爪\n[00:50]你总是温柔的\n[00:51]能把我的心融化掉\n[00:54]我想要当你的小猫猫\n[00:59]\n[01:00]合:\n[01:00]我们一起学猫叫\n[01:02]一起喵喵喵喵喵\n[01:04]在你面前撒个娇\n[01:06]哎呦喵喵喵喵喵\n[01:08]我的心脏砰砰跳\n[01:10]迷恋上你的坏笑\n[01:13]你不说爱我我就喵喵喵\n[01:16]\n[01:17]我们一起学猫叫\n[01:19]一起喵喵喵喵喵\n[01:21]我要穿你的外套\n[01:23]闻你身上的味道\n[01:25]想要变成你的猫\n[01:27]赖在你怀里睡着\n[01:30]每天都贪恋着你的好\n[01:33]\n[01:50]小潘潘:\n[01:51]有时候我懒的像只猫\n[01:54]脾气不好时又张牙舞爪\n[01:58]你总是温柔的\n[02:01]能把我的心融化掉\n[02:03]我想要当你的小猫猫\n[02:07]\n[02:09]合:\n[02:09]我们一起学猫叫\n[02:11]一起喵喵喵喵喵\n[02:13]在你面前撒个娇\n[02:15]哎呦喵喵喵喵喵\n[02:17]我的心脏砰砰跳\n[02:19]迷恋上你的坏笑\n[02:22]你不说爱我我就喵喵喵\n[02:26]\n[02:26]我们一起学猫叫\n[02:28]一起喵喵喵喵喵\n[02:30]我要穿你的外套\n[02:32]闻你身上的味道\n[02:34]想要变成你的猫\n[02:36]赖在你怀里睡着\n[02:39]每天都贪恋着你的好\n[02:42]\n[02:42]我们一起学猫叫\n[02:44]一起喵喵喵喵喵\n[02:46]在你面前撒个娇\n[02:49]哎呦喵喵喵喵喵\n[02:51]我的心脏砰砰跳\n[02:53]迷恋上你的坏笑\n[02:55]你不说爱我我就喵喵喵\n[02:59]\n[02:59]我们一起学猫叫\n[03:01]一起喵喵喵喵喵\n[03:03]我要穿你的外套\n[03:05]闻你身上的味道\n[03:07]想要变成你的猫\n[03:09]赖在你怀里睡着\n[03:12]每天都贪恋着你的好\n"

}]

3.示例代码(可以直接运行)

Music

package ssm.entity;

import lombok.Data;

import java.io.Serializable;

/**

* @author chen

* @create 2019-12-27 2:09

* @url 1314258.cn

*/

@Data

public class Music implements Serializable {

private static final long serialVersionUID = -38873741878079746L;

/**

*

*/

private Integer id;

/**

*标题

*/

private String name;

/**

*作者

*/

private String artist;

/**

*歌曲路径

*/

private String url;

/**

*封面图

*/

private String cover;

/**

*歌词

*/

private String lrc;

}

JsonDataToMysql

package ssm.util;

import com.alibaba.fastjson.JSONObject;

import org.apache.commons.io.FileUtils;

import org.springframework.util.ResourceUtils;

import ssm.entity.Music;

import java.io.File;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.util.List;

/**

* @author chen

* @create 2019-12-27 2:09

* @url 1314258.cn

*/

public class JsonDataToMysql {

private static final String URI = "jdbc:mysql://127.0.0.1/myblog?"

+ "user=root&password=你的密码&useUnicode=true&characterEncoding=UTF-8";

private static final String DRIVER = "com.mysql.jdbc.Driver";

public static Connection connectDB() throws Exception {

//1、加载数据库驱动

Class.forName(DRIVER);

//2、获取数据库连接

Connection conn = DriverManager.getConnection(URI);

return conn;

}

public static void addMusic(Music music) throws Exception {

Connection conn = JsonDataToMysql.connectDB();

String sql = "INSERT INTO music(name, artist, url, cover,lrc) "

+ " VALUES(?, ?, ?, ?, ?)";

PreparedStatement pstmt = conn.prepareStatement(sql);

pstmt.setString(1, music.getName());

pstmt.setString(2, music.getArtist());

pstmt.setString(3, music.getUrl());

pstmt.setString(4, music.getCover());

pstmt.setString(5, music.getLrc());

pstmt.execute();

}

public static void main(String[] args) throws Exception {

//1.利用spring提供的工具类读取资源文件

File jsonfile = ResourceUtils.getFile("classpath:cjb.json");

//2.读取到的文件转换成为String类型

String jsonsting = FileUtils.readFileToString(jsonfile);

//3.将字符串转成list集合

Listmusics = JSONObject.parseArray(jsonsting, Music.class);

//4.遍历插入到数据库

for (Music m : musics) {

addMusic(m);

}

System.out.println("成功插入"+musics.size()+"条");

}

}

sql CREATE TABLE `music` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(100) DEFAULT NULL,

`artist` varchar(100) DEFAULT NULL,

`url` varchar(200) DEFAULT NULL,

`cover` varchar(200) DEFAULT NULL,

`lrc` text,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=43 DEFAULT CHARSET=utf8;

4.效果图片

0cf7ba572202973c1143b725a97e876f.png

a3d8f35cbb35944c1e009fd1430ce762.png

e5ae7f9e32be5b3475adeeeaf61b4c08.png

5.其他

感觉这个注释已经写得很仔细了,不懂的可以留言或者私信我。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐