学习笔记:JDBC与数据库

集训的有关总结

连接数据库(MySQL)的步骤:

  1. 导入jar包(可以去官网下)
    复制mysql-connector-java-5.1.37-bin.jar到项目libs目录下
    右键–>Add As Library

  2. 注册驱动

  3. 获取数据库连接对象Connection

  4. 定义sql

  5. 获取执行sql语句的对象Statement

  6. 执行sql,接收返回的结果

  7. 处理结果

  8. 释放资源

下面以简单的例子介绍:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;/**1. JDBC连接数据库2. @author MIAO3. @date 2020/5/11*/
public class LoginJDBC {public static void main(String[] args) throws Exception {//1.注册驱动Class.forName("com.mysql.jdbc.Driver");//2.获取数据库连接对象Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test1","root","root");System.out.println(conn);//3.定义sql语句String sql = "insert into score(sid,sname,sage) values(99,'李未来',18)";//4.获取执行sql语句的对象StatementStatement statement = conn.createStatement();//5.执行sql语句,接收返回结果int i = statement.executeUpdate(sql);//6.处理结果System.out.println("受影响行数:"+i);//7.释放资源statement.close();conn.close();}
}

关于对象的详解:

  1. DriverManager:驱动管理对象
  • 注册驱动:告诉程序应该使用哪一个数据库驱动jar包
    Class.forName("com.mysql.jdbc.Driver");
  • 获取数据库连接
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test1","root","root");
  • url="jdbc:mysql://localhost:3306/test1"指明数据库的连接路径
  • 语法:(jdbc:mysql://ip地址(域名):端口号(这里MySQL默认的端口号是3306)/数据库名称(这里我创建的数据库名称为test1),“user用户名”,“password数据库密码”);
  1. Connection:数据库连接对象

获取执行sql的对象
Statement statement = conn.createStatement();

  1. Statement:执行sql的对象
  • executeUpdate()方法:执行DML(insert,update,delete)和DDL(create,alter,drop)语句
  • 返回值:影响的行数,可以通过这个行数判断所写的sql语句是否执行,返回值>0执行成功,返回值<0执行失败
  1. ResultSet:结果集对象,封装查询结果
  • boolean next(): 游标向下移动一行,判断当前行是否是最后一行末尾(是否有数据),如果是,则返回 false,如果不是则返回 true
  • 使用步骤:
    游标向下移动一行
    判断是否有数据
    获取数据
  1. PreparedStatement:执行sql对象
  • SQL 注入问题:在拼接 sql 时,有一些 sql 的特殊关键字参与字符串的>拼接。会造成安全性问题
  • 输入用户随便,输入密码: a’ or ‘a’ = 'a
  • sql:select * from user where username = ‘fhdsjkf’ and password = ‘a’ or ‘a’ = ‘a’
  • 解决 sql 注入问题:使用 PreparedStatement 对象来解决
  • 预编译的 SQL:参数使用 ? 作为占位符
  • 注意:sql 的参数使用?作为占位符。
    如: select * from user where username = ? and password = ?;

使用JDBC进行简单连接相关推荐

  1. JDBC简单连接MySQL

    使用JAVA连接数据库的几个步骤 加载驱动类 DriverManager接口:JDBC的管理层,作用于用户和驱动程序之间,跟踪可用的驱动程序 并在数据库和相应的驱动程序间建立连接. Class.for ...

  2. Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发

    Spring JDBC     * Spring框架对JDBC的简单封装.提供了一个JDBCTemplate对象简化JDBC的开发     * 步骤:         1. 导入jar包        ...

  3. 使用JDBC把Java连接到数据库

    大家好,我是贺贺,专注于Java后端.数据结构和算法的学习. 为什么JDBC慢慢变陌生了 在Java开发过程中,与数据库打交道是难免的,但是,Java具体是怎么操作数据库的呢,随着Spring时代的来 ...

  4. 【JDBC知识总结】---JDBC连接数据库、连接池、JDBC在框架中的使用等

    一.JDBC的基本操作 1.1 JDBC的概述 什么是JDBC JDBC(Java Date Base Connectivity , Java数据库连接) 是一种用于执行SQL语句的Java API, ...

  5. 通过JDBC进行简单的增删改查(二)

    本章笔记更易理解和学习,也是我第一次初学的笔记. 1 package javastudy; 2 3 import java.sql.Connection; 4 import java.sql.Driv ...

  6. 项目案例模板之jdbc两种连接方式

    项目案例模板之jdbc两种连接方式 第一种连接方式 JDBCUtils.java package jdbc;​import org.junit.jupiter.api.Test;​import jav ...

  7. 数据库驱动和JDBC、DBCP-C3P0连接池

    目录 数据库驱动 第一个JDBC程序 statement对象详解 SQL注入问题 PreparedStatement对象 JDBC操作事务 DBCP-C3P0连接池 DBCP C3P0 C3P0与DB ...

  8. 【微信小程序系列】小程序简单连接后端数据库完整示例(附免费下载的源码)(Servlet)

    [微信小程序系列]小程序简单连接后端数据库完整示例(附免费下载的源码)(Servlet) 登录页面 login.wxml <view class="page">< ...

  9. WebSocket——SpringBoot+Vue3+TS+SockJS+STOMP简单连接使用

    WebSocket--SpringBoot+Vue3+TS+SockJS+STOMP简单连接使用 本文视频以及相关资源 关于WebSocket 文档 什么时候使用WebSocket WebSocket ...

最新文章

  1. 基于的BCH的相关应用是不是该降降温?
  2. 用tigervnc远程控制centos x64 6.2
  3. 浅谈JS原型与原型链(一)
  4. python语言入门m-「数据挖掘入门系列」Python快速入门
  5. ArrayList、LinkedList和Vector
  6. Bug整理——阿里Ons高版本引入后Spring项目不打印日志问题
  7. docker kali安装mysql_kali安装docker(有效详细的教程) ——vulhub漏洞复现 001
  8. python 模块
  9. C#编程(三十三)----------Array类
  10. 大数据分析应具备哪些属性
  11. Java-Spark系列6-Spark SQL编程实战
  12. Python-《原神》荒海雷立方机关破解二
  13. 95后程序员辞职大厂卖柚子,3个月爆卖3200万,走完父亲30年的路
  14. 【电商业务】外行为何难区别 商品属性与商品规格
  15. 五花八门的Barcamp和五花八门的人
  16. 系统架构师----笔记
  17. python3.8和3.7手动下载whl文件并进行安装pyaudio
  18. x38和x48是服务器芯片吗,主板芯片组 p35 p43 和 p45 有什么不同??????
  19. 淘宝API接口:upload_img - 上传图片到淘宝
  20. Uipath如何截图粘贴到Excel

热门文章

  1. LeetCode 836. 矩形重叠
  2. 程序员面试金典 - 面试题 16.11. 跳水板(数学)
  3. python可变参数函数二阶导数公式_python中函数的可变参数
  4. excel打开csv错误换行_「乱吐槽·乱学习」excel高手捷径:一招鲜,吃遍天③
  5. Spring Boot中使用Redis数据库
  6. 会议交流 | 如何提升推荐系统的可解释性?——DataFunSummit2022知识图谱在线峰会...
  7. 论文浅尝 | 将结构预测作为增广自然语言间的翻译任务
  8. 论文浅尝 | Doc2EDAG:一种针对中文金融事件抽取的端到端文档级框架
  9. 从源码说说dispatchTouchEvent与onTouchEvent的关系以及OnTouchListener的用法
  10. spring data jpa update