• Springboot 连接 Mysql


    一、安装mysql

    mysql8.0安装+配置教程
    在这里插入图片描述

    二、pom.xml配置

    		<!--集成mysql数据库-->
    		<dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.30</version><!--$NO-MVN-MAN-VER$-->
                <scope>runtime</scope>
            </dependency>
    
    		<dependency>
    		    <groupId>org.springframework.boot</groupId>
    		    <artifactId>spring-boot-starter-jdbc</artifactId>
    		</dependency>
    		
    		<!--lombok注解简化代码-->
    		<dependency>
    		    <groupId>org.projectlombok</groupId>
    		    <artifactId>lombok</artifactId>
    		</dependency>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    三、application. properties

    		spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
    		spring.datasource.url=jdbc:mysql://localhost:3306/mysql?useSSL=false&useUnicode=true&characterEncoding=utf-8
    		spring.datasource.username=root
    		spring.datasource.password=root
    
    • 1
    • 2
    • 3
    • 4

    spring.datasource.url=jdbc: mysql: //localhost:3306/mysql?useSSL=false&useUnicode=true&characterEncoding=utf-8
    红色标注的是名为 mysql 的数据库,大家不要全部照抄。

    四、方法

    	@Autowired
    	JdbcTemplate jdbcTemplate;
    
    	@ResponseBody
    	@RequestMapping("/save")
    	public String save(@RequestBody Map params) throws IOException {
    
    		// ------定义推送结果--------
    		String a;
    
    		// ------获取推送数据--------
    		id = (String) params.get("id");			//创建任务接口返回的id
    		companyId = (Integer) params.get("companyId");	//公司id
    		templateId = (Integer) params.get("templateId");//模板id
    		templateName = (String) params.get("templateName");//模板名称
    		phone = (String) params.get("phone");	//外呼号码
    		result = (String) params.get("result");//外呼结果
    		callTime = (String) params.get("callTime");//外呼时间
    		taskId = (String) params.get("taskId");//外呼任务id
    		callDuration = (Integer) params.get("callDuration");//外呼时长
    		voiceText = (String) params.get("voiceText");//对话信息
    		intention = (String) params.get("intention");//意向
    		intentionRoute = (String) params.get("intentionRoute");//意向路径
    		intentionScore = (Integer) params.get("intentionScore");//意向分数
    		telnum = (String) params.get("telnum");//外呼主叫号码
    		callRound = (Integer) params.get("callRound");//呼叫轮次
    		visitResult = (String) params.get("visitResult");//报表意向回访状态
    		lastRoundFlag = (Boolean) params.get("lastRoundFlag");//是否最后一轮
    		totalDuration = (Integer) params.get("totalDuration");//外呼总时长
    		userData = (Map<String, Object>) params.get("userData");//透传字段
    		visitResultReport = (Map) params.get("visitResultReport");//报表意向回访结果
    		sex = (Map<String, Object>) params.get("sex");//性别
    		dynamicProperties = (Map) params.get("dynamicProperties");//动态字段
    		hangUpDirect = (String) params.get("hangUpDirect");//挂断方向
    		fdsfPath = (String) params.get("fdsfPath");//通话录音文件路径
    		dialogueList = (List) params.get("dialogueList");//人机对话详情
    
    		// ************** 存入mysql *********************
    		// ---------清空表-----------
    		String sql = "DELETE FROM url_table";
    		jdbcTemplate.update(sql);
    		
    		// --------存入新数据------------
    		sql = "INSERT INTO url_table(" + "`id`,`companyId`,`templateId`,`templateName`,`phone`,"
    				+ "`result`,`callTime`,`taskId`,`callDuration`,`voiceText`,"
    				+ "`intention`,`intentionRoute`,`intentionScore`,`telnum`,`callRound`,"
    				+ "`visitResult`,`lastRoundFlag`,`totalDuration`,`userData`,`visitResultReport`,"
    				+ "`sex`,`dynamicProperties`,`hangUpDirect`,`fdsfPath`,`dialogueList`) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
    		jdbcTemplate.update(sql, id, companyId.toString(), templateId.toString(), templateName, phone, 
    				result, callTime, taskId, callDuration.toString(), voiceText, 
    				intention, intentionRoute, intentionScore.toString(), telnum, callRound.toString(), 
    				visitResult, lastRoundFlag.toString(), totalDuration.toString(), userData.toString(), visitResultReport.toString(), 
    				sex.toString(), dynamicProperties.toString(), hangUpDirect, fdsfPath, dialogueList.toString() 
    		);
    		
    		//存储数据库成功且必填字段不为空,则推送成功
    		if (phone != null && result != null && id != null && callRound != null && companyId != null
    				&& templateId != null && templateName != null) {
    			a = "推送成功";
    		} else {
    			a = "推送失败,缺失必填值";
    		}
    
    		return a;
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
  • 相关阅读:
    “数字游民”热潮席卷全球,未来十年或将达到10亿人!
    【面试题 - mysql】进阶篇 - 分库分表
    Dubbo 架构介绍
    TienChin 渠道管理-前端展示渠道信息
    MVCC(Multi-Version Concurrency Control,多版本并发控制)
    电阻电路的等效变化(Ⅱ)
    前端设计模式应用
    小程序最新获取用户头像昵称
    java反射全面复习
    射频微波芯片设计2:滤波器芯片
  • 原文地址:https://blog.csdn.net/qq_41749451/article/details/126141915