Java Web数据库开发(MySQL)之环境准备

​ 首先解释下这题目,我们并不是要开发一个数据库,而是要在Java Web项目中连接数据库(后文中的数据开发皆与此相同),从而实现数据的增删改查等操作,可以让我们的应用中和用户相关的数据持久化,进而给用户提供更好的服务。因此,如何通过Java代码连接数据库,并实现数据的查询和修改就非常重要了,相信对此你也非常认同了(强制认同😝)。

资源分配图

​ 废话不多说了,今天就带大家进行数据库开发环境的准备,主要包含MySQL的安装、数据库管理工具的使用、及在Java Web应用中完成数据库开发的初体验。

1.MySQL的安装

​ MySQL是现在主流的数据库服务器,因为其开源、性能稳定、体量小等优点,一直都是备受开发者青睐。从下图我们可以看到,2019年MySQL的使用比例仍排第一,相信在未来几年大的趋势也不会变。

资源分配图

​ 首先我们来下载MySQL的安装包,官网下载地址:https://dev.mysql.com/downloads/mysql/,按照下图点击查看之前的版本,然后选择自己操作系统,并选择对应的版本,我们这里推荐使用5.7.29这个版本(如果想使用MySQL8.0也是可以的,不过我们这里不会使用都8.0的新特性)。

资源分配图

​ 点击download后,选择下方的No thanks, just start my download链接即可开始下载。下载速度可能会比较慢,如果较慢的话,建议换个时间点再下载,因为这个似乎下载失败后要全部重新开始下载的。

​ 安装步骤:

​ 对于mac用户,可以选择下载dmg格式的安装包,只需按照指引一步步点击即可完成安装。可以参考下面文章:

  1. mac系统下安装mysql 5.7.21的方法

​ 对于Windows用户,可以选择使用MySQL installer来直接安装MySQL,还可以直接通过下载MySQL,通过命令行来完成MySQL的初始化工作,安装步骤可以参考下面的两个链接:

  1. MySQL57安装图解
  2. MySQL 57安装部署(Zip版)

2.数据库管理工具的安装与使用

​ MySQL安装成功后,为了方便的操作数据库,我们需要安装数据库管理工具,这样用户可以通过图形化页面更好的管理自己的数据服务器。

​ 这里给大家推荐两种数据库管理工具,一是Navicat,功能强大,使用简单,能几乎满足你的所有需求,不过是需要付费的;二是MySQL WorkBench,这是专门为MySQL设计的数据库管理工具。

​ 首先是Navicat的安装步骤:

​ Navicat Windows版本的安装步骤可参考文章:https://www.jianshu.com/p/a6921eae0a8f

​ Navicat Mac版本的安装步骤可参考文章:https://www.jianshu.com/p/f3ef78deadaa

​ 对于MySQL WorkBench,就比较简单了,下载后按照步骤安装即可(如果上面安装MySQL时选择的是msi格式,则可在安装MySQL时顺带安装WorkBench)。下载链接:https://dev.mysql.com/downloads/workbench/

​ 对于数据库连接工具,如果能熟练的使用,可以大大的提高我们的开发效率,在这里我们就使用WorkBench来演示下,如何连接数据库服务器,并新建库、表、插入记录的。

​ 下图可以看到,我们本地的MySQL服务器的连接(Connection)会被自动创建,点击后,输入密码即可打开连接。

资源分配图

​ 点击MySQL Connections旁的+按钮,即可创建新的连接,如下图所示:

资源分配图

​ 打开连接后,可以看到MySQL服务中的已经存在的数据库(Schema),并且可以创建数据库、表、存储过程、函数等等,如下图所示:

资源分配图

​ 下面我们来看下,要如何新建一个Schema,具体操作如下图所示:

资源分配图

​ 如果要新建一张表时,可以通过SQL直接写建表语句(Create Table…),或者通过页面直接操作,具体操作如下所示:

资源分配图

3.第一个连接数据库的程序

​ 万事具备,啥都不缺了,下面,就让我们一起来编写一段从数据库中查询数据的代码。

​ 首先,我们需要将MySQL的连接驱动导入到项目中,连接驱动的下载地址:https://dev.mysql.com/downloads/connector/j/,我们选择5.1.48版本。

​ 驱动下载完成后,将jar包复制到Web项目中WEB-INF目录中的lib下,并将其加入到项目的类路径下(build path),这样项目不仅可以在eclipse中运行,打包成war包部署在tocmat中也可正常执行。

资源分配图资源分配图

​ 下面我们就来写下一段查询代码,从我们刚才新建库中的新建的表中查询数据。代码如下:

/**
 * 第一个数据库查询代码
 * 
 * @author lizishu
 *
 */
public class FirstJDBC {
	public static void main(String[] args) {
		Connection connection = null;
		Statement statement = null;
		ResultSet resultSet = null;
		try {
			//注册,告知JDBC使用mysql-connector驱动
			Class.forName("com.mysql.jdbc.Driver");
			String url = "jdbc:mysql://localhost:3306/java_web?useSSL=false&characterEncoding=utf-8";
			String userName = "root";
			String password = "123456";
			// 获取数据库连接
			connection = DriverManager.getConnection(url, userName, password);
			// 创建Statement对象
			statement = connection.createStatement();
			String sql = "SELECT * FROM users WHERE id = 1;";
			// 获取查询结果集
			resultSet = statement.executeQuery(sql);
      //resultSet移动游标(Cursor)到结果的第一行
			while (resultSet.next()) {
				//输出查询结果
				System.out.println("name:" + resultSet.getString("name"));
				System.out.println("password:" + resultSet.getString("password"));
				System.out.println("email:" + resultSet.getString("email"));
				System.out.println("birthday:" + resultSet.getDate("birthday"));
			}
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			JDBCUtil.release(resultSet, statement, connection);
		}
	}
}

​ 在测试之前,我们还是欠缺点’东风’的,我们之前只给大家讲了如何在WorkBench中新建数据库、新建表,我们在这里给出对应的Sql语句:

-- 创建数据库
create database java_web;
-- 创建数据表
CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(32) DEFAULT NULL,
  `password` varchar(64) DEFAULT NULL,
  `email` varchar(32) DEFAULT NULL,
  `birthday` date DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4;
-- 插入数据
INSERT INTO users (`name`, `password`, email, birthday) VALUES ('李子树', '123456', '[email protected]', '2000-10-13');

​ 下面我们来看下FirstJDBC的执行结果:

资源分配图

4.总结

​ 到这里,我们的准备工作已经完成了,并且已经抢鲜体验了一把数据库开发,后面我们会对JDBC的内容做更详细的解释,这里就不在赘述了。

参考阅读:

  1. 2019 数据库最受欢迎排行榜
  2. MySQL的优势

​ 又到了分隔线以下,本文到此就结束了,本文内容全部都是由博主自己进行整理并结合自身的理解进行总结,如果有什么错误,还请批评指正。

​ Java web这一专栏会是一个系列博客,喜欢的话可以持续关注,如果本文对你有所帮助,还请还请点赞、评论加关注。

​ 有任何疑问,可以评论区留言。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章