一.环境配置(基于MySQL数据库)

 
 1.下载MySQL数据库

 2.下载安装 Navicat,破解方法去吾爱破解网站查询

   第一次连接mysql时可能会出现错误,可能是因为二者对密码的编码方法不一致,可通过在帮助中升级更新Navicat来解决

 3.下载JDBC jar包  mysql-connector-java-version.jar

   注意这里要说明一下JDBC jar包存放的位置:

    如果是Java项目:

        Eclipse项目中导入该jar包,方法:右击项目→构建路径→配置构建路径→add external jar

7.Java Web的数据库操作

    如果是Web项目:

  eclipse配置的tomcat默认发布项目不会部署到tomcat的安装目录去,所以JDBC jar包要手动复制到Web项目中的WebContent / WEB-INF / lib文件夹下

7.Java Web的数据库操作

 

 

     如果是Tomcat导包(表示服务器可能要用到数据库,例如数据源):

如果是MyEclipse集成Tomcat,显然是要用“右键项目 -> Properties -> Java Build Path -> 右侧选项卡选择Libraries -> Add JARs...”。
如果是非集成Tomcat,你必须把驱动程序包复制粘贴在Tomcat根目录“common\lib”文件夹下。

 

二.JDBC技术简介

  JDBC(Java Data Base Connectivity)是Java程序与数据库系统通信的标准API,它定义在JDK的API中,通过JDBC技术,Java程序可方便地与各种数据库交互。 

1.JDBC连接数据库的过程

  
    在JDK中,不包含数据库的驱动程序,使用JDBC操作数据库,需要事先下载数据库厂商提供的驱动包。

  1.注册数据库驱动

    连接数据库之前,需要将数据库厂商提供的数据库驱动类注册到JDBC的驱动管理器,通常情况是通过数据库驱动类加载到JVM来实现的。

Class.forName("com.mysql.jdbc.Driver"); //最新更改为com.mysql.cj.jdbc.Driver

  2.构建数据库连接URL

    这个URL由数据库厂商来定,但符合格式“JDBC协议+IP地址或域名+端口+数据库名称”,比如MySQL的URL是“jdbc:mysql://localhost:3306/test”。

   3.获取Connection对象

    在完成注册和构建URL后,就可以通过驱动管理器来获取数据库连接Connection,Connection对象是JDBC封装的数据库连接对象,只有创建此对象后,才能对数据进行相关操作。

DriverManager.getConnection(url, username, password);//URL, 数据库用户名, 密码

测试实例:

package Test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class testJDBC {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            String url="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false";
          //由于二者的字符编码方式可能不一致,故统一编码 String username
= "root"; String password = "123456"; Connection connection = DriverManager.getConnection(url, username, password); if (connection != null) { System.out.println("数据库连接成功!"); connection.close(); } else { System.out.println("数据库连接失败!"); } }catch (ClassNotFoundException e) { e.printStackTrace(); }catch (SQLException e) { e.printStackTrace(); } } }

2.JDBC API

  

1.Connection接口

  Connection接口位于java.sql包中,是与特定数据库的连接会话,只有获得特定数据库的连接对象,才能访问数据库,操作数据库中的数据表、视图和存储过程等,Connection接口的常用方法声明:

方法声明
说明
void close() throws SQLException   
立即释放Connection对象的数据库连接占用的JDBC资源,在操作完数据库后,应立即调用此方法
void commit() throws SQLException  
提交事务,并释放Connection对象当前持有的所有数据库锁。当事务被设置为手动提交模式时,需要调用该方法提交事务。

 

2.DriverManager类

   DriverManager类主要作用于用户及驱动程序之间,它是JDBC中的管理层,通过DriverManager类可以管理数据库厂商提供的驱动程序,并建立应用程序与数据库之间的连接。

  

3.Statement接口

   Statement接口提供了执行语句和获取查询结果的基本方法。

  

4.PreparedStatement接口

   实际开发中,SQL语句往往需要将程序中的变量做查询条件参数等,而使用Statement接口进行操作会过于繁琐,而且存在安全方面的缺陷。PreparedStatement接口继承于Statement接口,而且对带有参数SQL语句的操作执行进行了扩展。应用于PreParedStatement接口中的SQL语句,可以使用占位符“?”来代替SQL语句中的参数,然后再对其赋值。最好使用该接口,不仅可以提高SQL执行效率,而且还可以避免SQL语句的注入式攻击。

  

5.ResultSet接口

  执行SQL语句的查询结果会返回查询的结果集,而Result接口封装了该结果集。Result还提供了光标的功能,通过光标可以自由定位到某一行中的数据。

三.JDBC操作数据库


1.添加数据 

  通过JDBC向数据库添加数据,可以使用INSERT语句实现插入数据的SQL语句,对应SQL语句中的参数可以使用占位符“?”代替,然后通过PreparedStatement对其赋值并执行SQL。

  实例:建立一个学生信息数据库,通过JDBC向其添加数据。

  1.首先在Navicat中创建名为student的数据库,创建student_info表

 7.Java Web的数据库操作

 

   2.创建名为Student的类,来封装学生对象信息

package com;

import java.io.Serializable;

public class Student implements Serializable{
    /**
     * 
     */
    private static final long serialVersionUID = -7421230515641293748L;
    private int id;
    private String name;
    private String sex;
    private int age;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id=id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name=name;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex=sex;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age=age;
    }
}
View Code

  3.创建index.jsp页面,用于提交添加学生信息的表单。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Insert title here</title>
    </head>
    <body>
        <form action="AddStudent.jsp" method="post" onsubmit="return check(this)">
            <table    align="center" width="450">
                <tr>
                    <td align="center" colspan="2">
                        <h2>添加学生信息</h2><hr>
                    </td>
                </tr>
                <tr>
                    <td align="center">学号:</td>
                    <td><input type="text" name="id"></td>
                </tr>
                <tr>
                    <td align="center">姓名</td>
                    <td><input type="text" name="name"></td>
                </tr>
                <tr>
                    <td align="center">性别</td>
                    <td><input type="text" name="sex"></td>
                </tr>
                <tr>
                    <td align="center">年龄</td>
                    <td><input type="text" name="age"></td>
                </tr>
                <tr>
                    <td align="center" colspan="2">
                        <input type="submit" value="添加">
                    </td>
                </tr>
            </table>
        </form>
    </body>
</html>
View Code

相关文章:

  • 2022-02-14
  • 2022-12-23
  • 2022-01-20
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-10-08
  • 2022-12-23
  • 2021-12-05
  • 2021-12-28
  • 2022-02-09
  • 2021-11-28
相关资源
相似解决方案