Java语言入门(十五)——JDBC
发布日期:2022-02-28 07:22:50 浏览次数:18 分类:技术文章

本文共 4330 字,大约阅读时间需要 14 分钟。

Java语言入门

JDBC

  1. JDBC(Java DataBase Connectivity)
  2. java数据库连接,是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC是面向关系型数据库的,也是Sun Microsystems的商标。
  3. 是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
  4. 使用JDBC操作数据库之前,首先要有一个数据库。

MySQL安装配置和基础学习

  1. https://www.mysql.com/,下载安装MySQL。
  2. 打开MySQL:mysql –u用户名 –p密码(注意:“-p”和“123” 之间不能有空格)
    C:>mysql -uroot -proot
  3. 查看数据库:mysql>show databases;
  4. 创建数据库:mysql>create database huang;
  5. 切换数据库:mysql>use huang;
  6. 查看表:mysql>show tables;
  7. 创建表:
    mysql> create table guo(
    -> id int(8) not null primary key auto_increment,
    -> name varchar(20),
    -> age int(10)
    -> );
  8. 插入数据
    mysql> insert into guo(name,age) values(“quan”,30);
  9. 查询数据
    mysql> select * from guo;
  10. 删除数据
    mysql> delete from guo where id=1;
  11. 退出 MySQL:mysql>quit(或者exit)
  12. 用文本方式将数据装入数据表中:
    mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE 表名;
  13. 导入.sql文件命令:
    mysql> USE 数据库名;
    mysql> SOURCE d:/mysql.sql;
  14. mysql -h 10.81.40.69 -uroot -proot (IPv4地址)
    使用TCP/IP连接, mysql server 认为该连接来自于127.0.0.1或者是”localhost.localdomain”。
  15. mysql -h localhost -uroot –proot
    是不使用TCP/IP连接的,而使用Unix socket; 此时,mysql server则认为该client是来自”localhost”。
  16. mysql -h localhost -P 3306 -uroot –proot
  17. 修改密码:
    mysqladmin -u用户名 -p旧密码 password 新密码
  18. 增加新用户:
    grant select on 数据库.* to 用户名@登录主机 identified by “密码”
    例:GRANT ALL ON . TO ‘cat’@’%’ with grant option;
    GRANT SELECT, INSERT ON huang.guo TO ‘cat’@’%’;

导入jar包

  1. 使用JDBC需要在工程中导入对应的jar包。数据库与JDBC包的对应关系可以参考各种数据库对应的jar包、驱动类名和URL格式。
  2. 在Eclipse下的导入方法:在工程的图标上右击,选择”Properties”,在”Java Bulid Path”中选择”Add External JARs…”,选择下载并解压后获得的jar包。
  3. 以MySQL为例:
    mysql-connector-java-5.1.42-bin.jar

JDBC基本使用

步骤:

  1. 加载对应驱动;
  2. 连接数据库(创建Connection对象);
  3. 传入SQL命令,获得PreparedStatement(或Statement)对象;
  4. 对PreparedStatement(或Statement)对象执行executeUpdate()或executeQurey()获得结果;
  5. 关闭数据库(关闭Connection对象)。
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class Testjdbc {
   
public static void main(String[] args) throws Exception {    
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
//new com.mysql.jdbc.Driver();也可以直接new,但需要自己写异常处理
//2.连接数据库
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/huang", "root", "root");
System.out.println(conn);
//3.操作数据库
String sql = "select * from hu";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){    
int id=rs.getInt(1);
String name=rs.getString(2);
int age=rs.getInt(3);
System.out.println(id+":"+name+":"+age);
}
//4.关闭数据库
conn.close();
}}

导入包

  1. import java.sql.Connection;//接口
  2. import java.sql.DriverManager;//类
  3. import java.sql.ResultSet;//接口
  4. import java.sql.Statement;//接口
  5. import java.sql.SQLException;//类
  6. import java.sql.PreparedStatement;//接口

常用方法

常用方法-1

  1. public interface Connection extends Wrapper
    与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。
  2. void close()
    立即释放此 Connection 对象的数据库和 JDBC 资源,而不是等待它们被自动释放。
  3. Statement createStatement()
    创建一个 Statement 对象来将 SQL 语句发送到数据库。

常用方法-2

  1. PreparedStatement prepareStatement(String sql)
    创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库。
  2. public class DriverManager extends Object
    管理一组 JDBC 驱动程序的基本服务。
  3. static Connection getConnection(String url)
    试图建立到给定数据库 URL 的连接。

常用方法-3

  1. public interface ResultSet extends Wrapper
    表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。
  2. int getInt(int columnIndex)
    以 Java 编程语言中 int 的形式获取此 ResultSet 对象的当前行中指定列的值。
  3. String getString(int columnIndex)
    以 Java 编程语言中 String 的形式获取此 ResultSet 对象的当前行中指定列的值。

常用方法-4

  1. public interface Statement extends Wrapper
    用于执行静态 SQL 语句并返回它所生成结果的对象。
  2. boolean execute(String sql)
    执行给定的 SQL 语句,该语句可能返回多个结果。
  3. ResultSet executeQuery(String sql)
    执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。

常用方法-5

  1. public class SQLException extends Exception implements Iterable
    提供关于数据库访问错误或其他错误信息的异常。
  2. public interface PreparedStatement extends Statement
    表示预编译的 SQL 语句的对象。SQL 语句被预编译并存储在 PreparedStatement 对象中。然后可以使用此对象多次高效地执行该语句。

常用方法-6

  1. void setInt(int parameterIndex, int x)
    将指定参数设置为给定 Java int 值。
  2. void setString(int parameterIndex, String x)
    将指定参数设置为给定 Java String 值。
  3. int executeUpdate()
    在此 PreparedStatement 对象中执行 SQL 语句,该语句必须是一个 SQL 数据操作语言(Data Manipulation Language,DML)语句。

封装JDBC工具类

在这里插入图片描述

DAO模式简述

  1. DAO即Data Access Object,数据访问接口。夹在业务逻辑与数据库资源中间。
  2. DAO模式实际上是两个模式的组合,即Data Accessor (数据访问者)模式和 Active Domain Object(领域对象)模式。Data Accessor 模式实现了数据访问和业务逻辑的分离;Active Domain Object 模式实现了业务数据的对象化封装。
  3. DAO设计模式提供了一种通用的模式,来简化大量的代码,增强程序的可移植性。

DAO设计模式

  1. 保证与数据库正确的连接
  2. 必须要有javabean(或领域模型domain)
  3. DAO接口(方法)
  4. 实现DAO接口的具体类(具体操作)
  5. 测试
    在这里插入图片描述

转载地址:https://blog.csdn.net/weixin_45854582/article/details/106319733 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Kali Linux蓝牙连接问题解决
下一篇:初级SQLmap注入实例

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.191.171.18]2022年10月02日 07时57分06秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

最新文章

为啥要用位运算代替取模 2019-08-07 05:31:17
机器学习基础知识 2019-08-07 05:31:17
mysql乱码问题解决 2019-08-07 05:31:17
使用git pull文件时和本地文件冲突怎么办? 2019-08-07 05:31:16
git显示分支名称 2019-08-07 05:31:16
git简单教程 2019-08-07 05:31:15
不可重入函数 2019-08-07 05:31:15
死锁、活锁、饥饿 2019-08-07 05:31:14
进程、线程与协程的区别 2019-08-07 05:31:14
c/c++内存对齐 2019-08-07 05:31:14
二叉树的最大宽度 2019-08-07 05:31:13
linux下so编写 - 动态库-类 2019-08-07 05:31:13
laxical_cast使用 2019-08-07 05:31:12
Boost智能指针——shared_ptr 2019-08-07 05:31:12
机器学习 数据预处理之One-Hot Encoding 2019-08-07 05:31:11
查看进程的启动时间 2019-08-07 05:31:11
文本相似度-bm25算法原理及实现 2019-08-07 05:31:10
大数据面试题 2019-08-07 05:31:10
历史上悬疑未解的题目答案大揭秘 2019-08-07 05:31:09
变态而有趣的微软面试题及答案 2019-08-07 05:31:09