上篇完成了MySQL的安装以及终端的简单命令,接下来我们看看如何集成到IDEA中。
首先,打开IDEA,找到View-Tool Windows-Database
然后界面的右侧会出现Database模块,点击+,然后选择Data Source,然后选择MySQL:
然后进入这个界面,填写好连接的数据库名称、用户名、密码:
此时“Test Connection”不可用,底部有一个warning(Download missing driver files),我们点击“Download”,然后会下载文件:
完成后:
此时URL模块中“Test connection”可用了,我们点击试一下:
此时出现绿色的提示,我们Successful了,点击OK之后:
界面的右侧出现了数据库,点击展开能看到数据库的表,以及表中的字段。
接下来我们需要前往https://dev.mysql.com/downloads/connector/j/5.1.html下载一个 mysql-connector-java文件。
下载完成后,打开下载的包:
把mysql-connector-java-5.1.47-bin.jar拷贝出来,放到SDK的根目录的bin目录下。至于SDK的根目录在哪里,我们打开IDEA-File-Project Structure-SDK
就是那个JDK home path。然后找到Home中的lib文件夹,放入该文件夹中:
然后我们去IDEA中,打开File-Project Stucture -SDK:
把mysql-connector-java添加进来即可。
然后我们编码:
package com.bianla.demotestspringboot;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.security.PublicKey;
import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
public class StudentController {
@RequestMapping(value = "api/queryAllStudent",method = RequestMethod.GET)
public Object queryStudent(){
//创建连接器,用完即关
Connection con;
//数据库驱动,com.mysql.jdbc.Driver该字段不变
String driver = "com.mysql.jdbc.Driver";
//本地数据库的地址 wl_test_database是我的数据库名称
String url = "jdbc:[mysql://localhost:3306/wl_test_database";](mysql://localhost:3306/wl_test_database)
//用户名
String user = "root";
//用户root的密码,这里是我设置的密码
String password = "Aa123456";
Map <String,Object> map = new HashMap<String, Object>();
try {
//相当于 new com.mysql.jdbc.Driver(),在环境中创建此对象,如果没有该类,则抛出ClassNotFoundException。
//如果catch的类别中中没有设置ClassNotFoundException,则会报错
Class.forName(driver);
//使用url、用户名、密码进行连接
con = DriverManager.getConnection(url,user,password);
if (!con.isClosed()){
System.out.println("数据库连接成功");
}
//与数据库连接后,使用statement发送SQL语句
Statement statement = con.createStatement();
//具体的操作语句
String sql = "select * from wl_table";
//执行查询。ResultSet(结果集)是数据查询返回的一种对象
ResultSet resultSet = statement.executeQuery(sql);
//接收查询结果的属性
String name;
int age;
double score;
//把数据包装一下
List <Object> dataList = new ArrayList<Object>();
while (resultSet.next()){
Map <String,Object> itemMap = new HashMap<String, Object>();
//从结果集中获取到name、age、score
name = resultSet.getString("name");
age = resultSet.getInt("age");
score = resultSet.getDouble("score");
System.out.println("姓名:"+name+" 年龄:"+age+" 分数:"+score);
itemMap.put("name",name);
itemMap.put("age",age);
itemMap.put("score",score);
dataList.add(itemMap);
}
resultSet.close();
con.close();
//将结果返回
map.put("code","1");
map.put("data",dataList);
map.put("message","Query success");
return map;
} catch (SQLException e){
System.out.println("数据库连接失败");
} catch (ClassNotFoundException e){
System.out.println("数据库驱动没有安装");
}
//查询失败
map.put("code","0");
map.put("data","");
map.put("message","Query failed");
return map;
}
}
接下来我们使用safari调用一下:
在IDEA中的打印信息:
我们使用iOS调用一下:
加油~