JDBC 学习
本文最后更新于52 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com

概念:

  • 全称:(Java DataBase Connectivity)
  • JDBC就是使用Java语言操作关系型数据库的一套API

步骤

1.创建工程,导入驱动jar包–>mysql-connector-java-5.1.48.jar

可以在https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.48/Maven 中央仓库下载该jar包

2.随后右击jar包,步骤如下

3.在src/com/itheima/jdbc中的JDBCDemo.java写下以下代码

package com.itheima.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

/**
 * JDBC快速入门
 */
public class JDBCDemo {
    public static void main(String[] args) throws Exception{
        //1.注册驱动
        Class.forName("com.mysql.jdbc.Driver");

        //2.获取链接
        String url="jdbc:mysql://ip地址(域名):端口号/数据库名称";
        String username="用户名";
        String password="密码";
        Connection conn= DriverManager.getConnection(url,username,password);

        //3.定义sql
        String sql="update...";

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

        //5.执行sql
        int count = (int) stmt.executeLargeUpdate(sql);//受影响的行数

        //6.处理结果
        System.out.println(count);

        //7.释放资源
        stmt.close();
        conn.close();
    }
}

JDBC API 详解

DriverManager、Connection、Statement、ResultSet、PreparedStatement

DriverManager

1.注册驱动

//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");

2.获取链接

Static Connection getConnection(String url,String user,String password)

参数
String url="jdbc:mysql://ip地址(域名):端口号/数据库名称";
String username="用户名";
String password="密码";

细节:

  • 如果连接的是本机mysql服务器,并且MySQL服务器默认端口是3306,则url可以简写为:jdbc:mysql:///数据库名称?参数键值对
  • 如果useSSL=false参数,禁用安全链接方式,解决警告提示

Connection

Connection(数据库连接对象)作用:

1.获取执行SQL的对象

  • 普通执行SQL对象:Statement createStatement(sql)
  • 预编译SQL的执行SQL对象(防止SQL注入):PreparedStatement prepareStatement(sql)
  • 执行存储过程的对象:CallableStatement prepareCall(sql)

2.管理事务

MySQL事务管理

JDBC事务管理:Connection接口中定义了3个对应的方法

Statement

  • 作用:

执行SQL语句

类别全称中文目的主要命令事务
DDLData Definition Language数据定义语言定义和管理数据库结构CREATE,ALTER,DROP,TRUNCATE,RENAME自动提交
DMLData Manipulation Language数据操作语言操作和管理数据库中的数据(增、删、改)INSERT,UPDATE,DELETE,MERGE,CALL可回滚
DQLData Query Language数据查询语言从数据库中查询/检索数据SELECT可回滚
注意:DQL本质上属于DML的一个子集,但因为SELECT语句极其重要且使用频率最高,所以通常被单独分类

ResultSet

  • 作用:

封装了DQL查询语句的结果

  • 获取查询结果

PreparedStatement

作用:
预编译SQL并执行SQL语句

  • 获取PreparedStatement对象
//SQL语句中的参数值,使用?占位符替代
String sql="select * from user where usename = ? and password = ?";

//通过Connection对象获取,并传入对应的sql语句
PreparedStatement pstmt = conn.prepareStatement(sql);
  • 设置参数值

PreparedStatement对象:setXxx(参数1,参数2): 给 ? 赋值

Xxx:数据类型 ; 如setInt (参数1,参数2)

  • 执行SQL

executeUpdat();/executeQuery(); :不需要在传递sql

好处:

1.预编译SQL,性能更高

2.防止SQL注入:将敏感字符进行转义

PreparedStatement预编译功能开启:useServerPrepStmts=ture

数据库连接池

标准接口:DataSource(获取连接)

Connection getConnection()

常见的数据库连接池:DBCP、C3P0、Druid(Druid连接池是阿里巴巴开源的数据库连接池项目;功能强大,性能优秀,是Java语言最好的数据库连接池之一)

Druid

1.导入jar包 druid-1.1.12.jar

2.定义配置文件

3.加载配置文件

4.获取数据库连接池对象

5.获取连接

以上详细操作在09-数据库连接池-简介&Druid使用_哔哩哔哩_bilibili的7:13进度条

CAIHUANHUAN

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇