JavaWeb连接MySQL数据库的方式有很多,首先我们讲解JDBC的配置方法

一、JDBC的配置方法

1、什么是JDBC

什么是JDBC嘞?JDBC代表Java数据库连接(Java Database Connectivity),它是用于Java编程语言和数据库之间的数据库无关连接的标准Java API,

换句话说:JDBC是用于在Java语言编程中与数据库连接的API。

JDBC库包括通常与数据库使用相关,如下面提到的每个任务的API -

  • 连接到数据库
  • 创建SQL或MySQL语句
  • 在数据库中执行SQL或MySQL查询
  • 查看和修改结果记录

从根本上说,JDBC是一个规范,它提供了一整套接口,允许以一种可移植的访问底层数据库API。 Java可以用它来编写不同类型的可执行文件,如 -

  • Java应用程序
  • Java Applet
  • Java Servlets
  • Java ServerPages(JSP)
  • 企业级JavaBeans(EJB)

所有这些不同的可执行文件都能够使用JDBC驱动程序来访问数据库,并用于存储数据到数据库中。

JDBC提供与ODBC相同的功能,允许Java程序包含与数据库无关的代码(同样的代码,只需要指定使用的数据库类型,不需要重修改数据库查询或操作代码)。

2、下载配置

(1)首先我们到MySQL的官网去下载支持程序“MySQL Connector/J”(MySQL官方的JDBC驱动程序)

这里附上一键直达的链接:MySQL :: Download MySQL Connector/J (Archived Versions)

首先打开MySQL官网,点击DOWNLOADS

之后我们点击MySQL Community(GPL) Downloads

点击Connector/J

点击Archives

按照图片进行选择并下载(这里我们不可以选择上方的那个文件,因为上面那个文件是Liunx、Dabian等系统的文件,下面的文件才是Windows版本的!!!)

至此,我们下载完成。

(2)接下来我们进行文件配置。

我们将下载的压缩包进行解压,在生成的文件中会有一个名为mysql-connector-java-8.0.28.jar的文件。

我们要在需要与MySQL连接的项目中建立一个lib文件夹,并将.jar文件复制粘贴到此文件夹下(也可以直接进行拖拽)

之后我们用右键,按照图片上的步骤操作,添加驱动程序路径(成功后会多出一个

文件)

到这里不要着急,下面我们将.jar包导入到你电脑Tomcat文件根目录下的lib文件夹内,这样,你就完成了所有配置!

(3)接下来我们注册JDBC驱动程序

连接数据库时,需要将数据库驱动程序注册到jdbc的驱动管理器中。

调用Class.forName()方法例如:Class.forName(“com.mysql.jdbc.Driver”);当jdbc驱动程序mysql-connector-java-5.0.5-bin.jar为6.x版本以上时,调用为Class.forName(“com.mysql.cj.jdbc.Driver”);

(4)基于数据库连接的URL创建连接

虽然不同数据库厂商的URL不完全相同,但是都符合一个基本的格式,即“jdbc协议+IP地址或域名+端口号+数据库名称”。

创建数据库连接时,需要使用DriverManager类中getConnection()的静态方法,方法声明如下:DriverManager.getConnection(String url,String username,password);

二、使用JDBC的方法使JavaWeb连接MySQL数据库

下面我们写一个JSP代码,用来验证是否可以连接MySQL数据库。

<%@page import="java.sql.DriverManager"%><%@page import="java.sql.DriverAction"%><%@page import="java.sql.Connection"%><%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta http-equiv="Content-Type" content:"text/html" charset="UTF-8"><title>MySQL</title></head><body>    <%   try {       Class.forName("com.mysql.cj.jdbc.Driver"); //显示声明将数据库驱动程序注册到jdbc的驱动管理器中       String url = "jdbc:mysql://localhost:3306/text"; //数据库名称为text(需要提前在MySQL里面建立text数据库)       String username = "root"; //数据库用户名       String password = "123456"; //数据库密码          Connection conn = DriverManager.getConnection(url, username, password); //连接数据库        out.print("数据库连接成功!");     conn.close();   } catch (Exception e) {     out.print("数据库连接失败!");     out.print("错误信息:" + e.toString());    }   %> </body></html>

PS:这里需要注意的是我们自己使用时一定要修改成自己MySQL的用户名和密码,保证可以正常连接数据库。并且我们连接的数据库一定要存在!!!

三、进行实际操作

1、创建首页(login.jsp)

首先需要创建一个新的首页,首页可以显示用户名,密码,登录按钮等。代码如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"   pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="UTF-8"><title>欢迎登录</title></head><body>    <div style="text-align: center; margin-top: 120px">        <form action="LoginServet" method="post">           <table style="margin-left: 40%">               <h1>登陆</h1>             <tr>                  <td>登录名:</td>                    <td><input name="username" type="text" size="21"></td>               </tr>             <tr>                  <td>密码:</td>                    <td><input name="password" type="password" size="21"></td>               </tr>         </table>          <input type="submit" value="登录">            <input type="reset"value="重置">      </form>       <br>  </div></body></html>

效果如下:

2、创建LoginServlet.java文件

接下来我们创建LoginServlet.java文件。代码如下:

package com.sdbi.servlet; import java.io.IOException;  import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;   import com.sdbi.dao.userDao;import com.sdbi.entity.User; @WebServlet("/LoginServet")public class LoginServet extends HttpServlet {  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {       String account = request.getParameter("username");       String passWord = request.getParameter("password");              HttpSession session = request.getSession();        String username = request.getParameter("username");      String password = request.getParameter("password");      userDao userDao = new userDao();                   User user = (User)userDao.login(username, password);       if (user != null) {            session.setAttribute(username, user);           request.getRequestDispatcher("check.jsp").forward(request, response);                 }else {         request.getRequestDispatcher("failed.jsp").forward(request, response);        }   }   protected void doPost(HttpServletRequest request, HttpServletResponse response)         throws ServletException, IOException {      doGet(request, response);   } }

4、创建UserDao.java文件

代码如下:

package com.sdbi.dao; import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;   import com.mysql.cj.protocol.Resultset.Concurrency;import com.sdbi.entity.User; import util.DButil; public class userDao {  public User login(String username,String password) {        User u = null;     Connection connection = null;      PreparedStatement pstmt = null;        ResultSet resultSet = null;        try {           connection = DButil.getcon();          String sql = "select * from user where username=? and password=?";         pstmt = (PreparedStatement) connection.prepareStatement(sql);          pstmt.setString(1, username);           pstmt.setString(2, password);           resultSet = pstmt.executeQuery();          if (resultSet.next()) {             u = new User();                u.setUsername(resultSet.getString("username"));               u.setPassword(resultSet.getString("password"));               System.out.println("登录成功!");           } else {                System.out.println("用户名或者密码错误!");          }       } catch (SQLException e) {          e.printStackTrace();        } finally {         //DBUtil.close(pstmt, connection);      }       return u;   }   public boolean addUser(User user) {      Connection connection = null;      PreparedStatement psmt = null;         try {          connection = DButil.getcon();          String sql  ="insert into user(username,password);";         psmt = (PreparedStatement) connection.prepareStatement(sql);            psmt.setString(1, user.getUsername());         psmt.setString(2,user.getPassword());           psmt.executeUpdate();                                                                           } catch (SQLException e) {          e.printStackTrace();            return false;                   }finally {          //DBUtil.close(psmt, connection);       }        return true;   } }

5、创建User.java文件

package com.sdbi.entity; public class User { private String username;    private String password;    public String getUsername() {       return username;    }   public void setUsername(String username) {      this.username = username;  }   public String getPassword() {       return password;    }   public void setPassword(String password) {      this.password = password;  }                }

6、创建check.jsp文件

<%@page import="java.sql.ResultSet"%><%@page import="java.sql.PreparedStatement"%><%@page import="java.sql.DriverManager"%><%@page import="java.sql.Connection"%><%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="UTF-8"><title>所有用户信息</title></head><body>  <center>      <h3>所有用户信息</h3>     <table border="1">         <tr>              <th>账户</th>             <th>密码</th>         </tr>         <%           //加载、注册数据库驱动程序          Class.forName("com.mysql.cj.jdbc.Driver");            //数据库连接字符串          String url = "jdbc:mysql://localhost:3306/text";         //用户名           String username = "root";            //密码            String password = "123456";          //数据库连接         Connection conn = DriverManager.getConnection(url, username, password);            //构造sql语句           String sql = "select * from user";           //获取数据库操作对象(PreparedStatement对象)          PreparedStatement pstmt = conn.prepareStatement(sql);          ResultSet rs = pstmt.executeQuery();           //循环前准备变量           String uname = null;           String upassword = null;           while (rs.next()) {             uname = rs.getString("username");                upassword = rs.getString("password");            %>           <tr>              <td><%=uname%></td>              <th><%=upassword%></th>          </tr>             <%           }           //释放对象          if (pstmt != null) {           pstmt.close();          }           if (conn != null) {            pstmt.close();          }           if (rs != null) {          rs.close();         }           %>           </center>     </table></body></html>

7、创建failed.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"   pageEncoding="UTF-8"%><!DOCTYPE html><html><head><meta charset="UTF-8"><title>登陆失败</title></head><body>    <h1>失败</h1><br /> <a href="login.jsp">请重新登录</a></body></html>

8、创建所需要的数据库连接

9、登录用户

如果本文对你有帮助,别忘记给我个3连 ,点赞,转发,评论,,咱们下期见。

收藏 等于白嫖,点赞才是真情。

JavaWeb连接MySQL数据库最细图解相关推荐

  1. 关于javaweb连接mysql数据库mysql驱动包存放路径的问题

    首先,先看看别人怎么解释的:https://www.cnblogs.com/guoxh/p/6550234.html 初学JAVA,很多都不懂,开始听老师说导入数据库驱动包的时候是: 右键项目 -&g ...

  2. 一:javaweb连接MySQL数据库

    1,首先讲解jdbc,url,password,username含义: jdbc:数据库加载驱动,mysql一般都是"com.mysql.jdbc.Driver" url: &qu ...

  3. java web项目中连接mysql数据库,javaweb之eclipse工程连接mysql数据库

    javaweb之eclipse工程连接mysql数据库 准备工作: 1.在mysql官网下载mysqlconnection的jar包 输入网址:mysql.com-点击DOWNLOADS--下拉选择M ...

  4. 阿里云自动java和mysql数据库_阿里云服务器之基于Linux系统部署上线JavaWeb项目和连接MySQL数据库(从购买云服务器到发布JavaWeb项目全套详细流程)...

    阿里云服务器之基于Linux系统部署上线JavaWeb项目和连接MySQL数据库(从购买云服务器到发布JavaWeb项目全套详细流程) (仅此纪念人生第一篇学习博客) 前阵子接了一个小小的JavaWe ...

  5. IntelliJ IDEA 中详细图解记录如何连接MySQL数据库

    IntelliJ IDEA使用教程 (总目录篇) 在网上down了个web项目,在 IntelliJ IDEA 这个编辑器里面跑起来,但是发现domain文件夹下的xml文件都报如下的红色提示错误: ...

  6. mye连接mysql数据库_MySQL_如何在Java程序中访问mysql数据库中的数据并进行简单的操作,在上篇文章给大家介绍了Myeclip - phpStudy...

    如何在Java程序中访问mysql数据库中的数据并进行简单的操作 在上篇文章给大家介绍了Myeclipse连接mysql数据库的方法,通过本文给大家介绍如何在Java程序中访问mysql数据库中的数据 ...

  7. Java新手入门200例124之用JDBC连接Mysql数据库

    文章目录 作者简介 引言 导航 热门专栏推荐 一.创建web项目 二.加入Mysql驱动 三.编写查询代码 四.测试查询代码 五.编写插入代码 六.编写修改代码 七.编写删除代码 小结 导航 热门专栏 ...

  8. IDEA从零到精通(12)之用C3P0连接Mysql数据库

    文章目录 作者简介 引言 导航 热门专栏推荐 一.下载驱动并加入项目中 二.编写配置文件 三.编写工具类 四.编写测试类 五.测试运行 小结 导航 热门专栏推荐 作者简介 作者名:编程界明世隐 简介: ...

  9. IDEA连接MySQL数据库并执行SQL查询操作

    打开IDEA后,新建一个项目或者在已有项目上均可操作!!! 1 打开数据库页面 1.1 方式一 在主页面工具栏上找到View(视图)-Tool Windows(工具窗口)-Database(数据库), ...

最新文章

  1. python mysql 转义方法
  2. 为什么一般要定义析构函数为虚析构函数
  3. Git忽略规则及.gitignore规则不生效的解决办法
  4. mysql系列十、mysql索引结构的实现B+树/B-树原理
  5. Android: Bundle机制
  6. mysql单表简单排序查询
  7. 论文浅尝 | Wordly Wise(WoW) - 用于语音视觉知识问答的跨语言知识融合模型
  8. mitmproxy抓包 | Python篡改请求参数实战(五)
  9. Ubuntu 14.04 或者16.04开启root账户登录和图形界面登录root时候的报错解决方法
  10. android 7.0 黑屏,Android app启动是出现白屏或者黑屏如何解决?
  11. Eclipse 生成WebService客户端代码
  12. 解决SQL server不支持utf8,php却用utf8的矛盾问题
  13. 4.jvm初体验-内存溢出问题的分析与解决
  14. Java面试题中高级,java简历技术栈怎么写
  15. PCAN-View如何保存报文?
  16. 渐变色【R Color】
  17. arduino超声波测距接线图详细_Arduino教程:认识超声波传感器(简明版)
  18. 服务器如何查询网站域名备案号,如何查询域名备案号
  19. 狂神说java之002.预科
  20. 关于 redux-thunk 的作用,认识,理解

热门文章

  1. 计蒜客 A2240 轻重搭配
  2. 最新NZ在线源码交易平台虚拟交易系统多商家版PHP源码
  3. C# 获取CPU序列号、网卡MAC地址、硬盘序列号封装类,用于软件绑定电脑
  4. Radan 7.6.19.11260安装教程及如何正式激活
  5. Shader山下(三十)移动平台上的优化
  6. mybatis嵌套循环map(高级用法)
  7. orical空间数据类型GEOMETRY使用干货
  8. Linux 解压tar.xz文件
  9. 【中文】【吴恩达课后编程作业】Course 2 - 改善深层神经网络 - 第一周作业(123)
  10. 致程序员的一封信:去你的“油腻中年”!