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的版本,则说明安装成功。
image

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版本对应的

image

下载好了解压,把解压出来的文件夹打开
image

这个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程序目录概览:

image

下面完成这个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的版本)

image

在下面的那个红框处输入


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;

上述流程可参考下图

image

好了,测试用的数据库和表搞好了

写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

显示出如下的网页

image

主要参考博文地址:

纯手工打造(不使用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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341