java连接mysql
0. macOS安装homebrew
具体操作可参考https://www.cnblogs.com/acerkoo/p/13021871.html
1. 下载安装jdk
到https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html下载对应操作系统的jdk8,并安装。比如我的操作系统是macOS x64的。
终端下,输入java -version ,返回给你java的版本,则说明安装成功。
2. 下载安装mysql
具体操作可参考https://www.jianshu.com/p/a0f661c07d5b
3. 下载安装tomcat
具体操作可参考 https://www.jianshu.com/p/e342f189403f
4. 下载对应版本的mysql-connector-java
到https://dev.mysql.com/downloads/connector/j/
我这里要下的是和jdk版本对应的
下载好了解压,把解压出来的文件夹打开
这个mysql-connector-java-8.0.21.jar 我们待会儿要用
5. 一个java连接数据库的例子
按照上述安装tomcat的方法,tomcat的网站根目录应该是在
/usr/local/Cellar/tomcat/9.0.39/libexec/webapps
其中9.0.39是我下载安装的tomcat的版本,不同版本的不一样
Web程序目录概览:
下面完成这个Web程序和数据库连接的例子。
命令行下输入
“`
cd /usr/local/Cellar/tomcat/9.0.39/libexec/webapps
mkdir -p SQL/WEB-INF/classes
touch SQL/WEB-INF/web.xml
touch SQL/mysql.jsp
“`
# 接下来我要创建连接数据库用的测试数据库和表,并且向表中填入相应内容。【我这里用的是菜鸟教程的现成数据库例子,因此也可参考https://www.runoob.com/java/java-mysql-connect.html】
首先,打开mysql服务
“`
brew services start mysql
如果已经打开了,输入
brew services restart mysql
“`
“`
mysql -uroot -p
“`
输入密码成功后,出现一下内容(其中的8.0.21是mysql的版本)
在下面的那个红框处输入
“`
CREATE DATABASE RUNOOB;
“`
回显数据库创建成功的英文
选用RUNOOB数据库
“`
USE RUNOOB
“`
再输入
“`
CREATE TABLE `websites` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` char(20) NOT NULL DEFAULT \’\’ COMMENT \’站点名称\’, `url` varchar(255) NOT NULL DEFAULT \’\’, `alexa` int(11) NOT NULL DEFAULT \’0\’ COMMENT \’Alexa 排名\’, `country` char(10) NOT NULL DEFAULT \’\’ COMMENT \’国家\’, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
“`
回显创建websites表成功。
接着,向表websites中插入一些数据
“`
INSERT INTO `websites` VALUES (\’1\’, \’Google\’, \’https://www.google.cm/\’, \’1\’, \’USA\’), (\’2\’, \’淘宝\’, \’https://www.taobao.com/\’, \’13\’, \’CN\’), (\’3\’, \’菜鸟教程\’, \’http://www.runoob.com\’, \’5892\’, \’\’), (\’4\’, \’微博\’, \’http://weibo.com/\’, \’20\’, \’CN\’), (\’5\’, \’Facebook\’, \’https://www.facebook.com/\’, \’3\’, \’USA\’);
“`
查看RUNOOB数据库下websites表结构及其数据
“`
USE RUNOOB
SELECT * FROM websites;
“`
上述流程可参考下图
好了,测试用的数据库和表搞好了
# 写mysql.jsp中的内容
我这里说的mysql.jsp是在tomcat的网站根目录下的SQL下的一个文件,用文本编辑器打开它。输入如下内容
“`
<%@ page contentType=”text/html; charset=utf-8″ language=”java” import=”java.sql.*”%>
<html>
<body>
以下是从MySQL数据库读取的数据:<hr>
<table border=1>
<tr><td>ID</td><td>站点名称</td><td>站点URL</td></tr>
<%
Class.forName(“com.mysql.cj.jdbc.Driver”);
Connection con=java.sql.DriverManager.getConnection(“jdbc:mysql://localhost:3306/RUNOOB”,”root“,”你的数据库密码“);
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery(“select id, name, url from websites”);
while(rst.next())
{
out.println(“<tr>”);
out.println(“<td>”+rst.getString(“id”)+”</td>”);
out.println(“<td>”+rst.getString(“name”)+”</td>”);
out.println(“<td>”+rst.getString(“url”)+”</td>”);
out.println(“</tr>”);
}
//关闭连接、释放资源
rst.close();
stmt.close();
con.close();
%>
</table>
</body>
</html>
“`
【说明:我这里的Web程序连接的是root用户的数据库,也可以创建其他的数据库用户,连接其他的用户的数据库】
# 把之前序号4中的mysql-connector-javaxxx.jar拷贝到/usr/local/Cellar/tomcat/9.0.39/libexec/webapps/SQL/WEB-INF目录下
用文本编辑器打开/usr/local/Cellar/tomcat/9.0.39/libexec/webapps/SQL/WEB-INF目录下的web.xml文件
其中的内容修改为
“`
<?xml version=”1.0″ ?>
<!DOCTYPE web-app PUBLIC “-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN” “http://java.sun.com/dtd/web-app_2_3.dtd”>
<web-app>
<welcome-file-list>
<welcome-file>mysql.jsp</welcome-file>
</welcome-file-list>
</web-app>
“`
最后,打开tomcat服务(要确保成功打开哦)
“`
catalina run
“`
在浏览器地址栏输入如下地址并回车
“`
localhost:8080/SQL/index.jsp
“`
显示出如下的网页
主要参考博文地址:
纯手工打造(不使用IDE)java web 项目 – 夜读春秋啊 – 博客园 https://www.cnblogs.com/beast-king/p/5744385.html
不用IDE工具使用JDBC连接MySQL – JAVA涂鸦 – BlogJava http://www.blogjava.net/rickhunter/articles/14827.html
Java MySQL 连接 | 菜鸟教程 https://www.runoob.com/java/java-mysql-connect.html
macOS 安装 homebrew 国内源 – Acerkoo – 博客园 https://www.cnblogs.com/acerkoo/p/13021871.html
Mac 上 brew 安装Tomcat – 简书 https://www.jianshu.com/p/e342f189403f