网站的文章参考文献怎么做,百度网盘搜索引擎入口,临沂网站制作建设,成品短视频app下载有哪些软件可以用前言
SQL#xff08;Structured Query Language#xff09;是一种用于管理关系型数据库的标准化语言#xff0c;它用于定义、操作和管理数据库中的数据。SQL是一种通用的语言#xff0c;可以用于多种关系型数据库管理系统#xff08;RDBMS#xff09;#xff0c;如MySQ…
前言
SQLStructured Query Language是一种用于管理关系型数据库的标准化语言它用于定义、操作和管理数据库中的数据。SQL是一种通用的语言可以用于多种关系型数据库管理系统RDBMS如MySQL、Oracle、SQL Server等。
MySQL是一种开源的关系型数据库管理系统它使用SQL作为其查询语言。MySQL是最流行的开源数据库之一它具有高性能、可靠性和可扩展性。MySQL支持多用户、多线程和多表操作可以在各种操作系统上运行。
MySQL最为最流行的开源数据库其重要性不言而喻也是大多数程序员接触的第一款数据库深入认识和理解MySQL也比较重要。 本篇博客介绍JDBCJava Database Connectivity简称jdbc翻译过来就是 Java 数据库连接阐述了JDBC的编程思想介绍了各个API接口的分工并且对于JDBC相关的类进行详细的分析。
其他相关的JDBC博客文章如下
Java连接SQL数据库 单例封装数据库 本系列文章合集如下
【合集】MySQL的入门进阶强化——从 普通人 到 超级赛亚人 的 华丽转身 目录 引出JDBC它是什么JDBC编程思想JDBC流程编写流程 JDBC规范架构API分工 JDBC类的分析DriverMananger类1. 作用2. 静态方法3. 连接字符串4. 连接数据库代码 Connection接口1. 介绍2. 方法 PreparedStatement接口1. Statement和PreparedStatement2. PreparedStatement接口中方法 ResultSet接口1. 作用2. 如何获取数据3. 方法4. MySQL中数据类型与Java数据类型对应关系5. 查询代码 总结 引出 1.介绍JDBCJava Database Connectivity简称jdbc翻译过来就是 Java 数据库连接 2.阐述了JDBC的编程思想介绍了各个API接口的分工 3.对于JDBC相关的类进行详细的分析
JDBC它是什么
1、JDBC全称Java Database Connectivity简称jdbc翻译过来就是 Java 数据库连接
2、JDBC是一组API通过这些API可以很轻松的操作各种数据库。
JDBCJava DataBase Connectivity (Java 数据库连接)使用Java语言来操作关系型数据库的一组API(应用程序接口)JDBC本质上是一组接口实现类由数据库厂商提供。
JDBC编程思想
高度封装操作数据库只需要和API 接口和类几个对象打交道具体实现交给JDBC来完成即可。
跨数据库 如果没有JDBC我们在会根据每种数据库都要单独编写一组代码。 我们只需要针对JDBC接口进行编程即可好处
降低我们的代码与具体数据库之间耦合度。同一套代码可以访问不同的数据库也是多态的好处体现
实现类称为数据库驱动包需要额外从网上下载。
JDBC流程
左边是客户端Java代码右边是服务器端MySQL 编写流程
注册驱动程序 (从JDK5可以省略Class.forName(com.mysql.jdbc.Driver))获取连接对象通过连接对象获取语句对象发送SQL语句给数据库服务器由服务器去执行SQL语句。获取数据库返回的结果集处理结果集。关闭连接释放资源
JDBC规范架构 驱动就是由不同厂商提供的jar包。 API分工 JDBC类的分析
DriverMananger类
1. 作用
加载并且注册数据库驱动获取连接对象
2. 静态方法
public static Connection getConnection(String 连接字符串, String 用户名, String 密码) throws SQLException3. 连接字符串
不同的数据库连接字符串的格式不同。MySQL的连接字符串 MySQL的连接URL编写方式 jdbc:mysql://主机名称:mysql服务端口号/数据库名称?参数值参数值 jdbc:mysql://localhost:3306/persondb?useUnicodetruecharacterEncodingutf-8useSSLfalseserverTimezoneGMT%2B84. 连接数据库代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class AppDemo1 {public static void main(String[] args) throws SQLException {//获取连接对象Connection是一个接口返回的是它的实现类这是一种多态。实现类由MySQL驱动提供。Connection connection DriverManager.getConnection(jdbc:mysql://localhost:3306/woniu, root, root);//输出连接对象System.out.println(连接对象 connection);//关闭连接对象connection.close();}
}Connection接口
1. 介绍
Connection代表连接对象是一个接口由数据库厂商提供实现类。
2. 方法
创建一个 PreparedStatement对象用于将参数化的SQL语句发送到数据库。
PreparedStatement prepareStatement(String sql) 参数是SQL语句占带有占位符占位符使用问号?表示。PreparedStatement接口的实现类由数据库驱动提供
注所有的参数使用占位符为什么使用占位符
可以避免SQL注入的风险占位符是可变的查询语句更加灵活。
PreparedStatement接口
1. Statement和PreparedStatement
获取访问数据库的语句对象
Statement父接口有SQL注入的安全问题在后期很少使用。PreparedStatement子接口预编译的语句对象执行效率更高没有安全问题使用这个。
interface PreparedStatement extends Statement2. PreparedStatement接口中方法
PreparedStatement接口中的方法描述int executeUpdate()执行增删改的操作返回值影响的行数ResultSet executeQuery()执行查询的操作返回值返回结果集void set数据类型(int 占位符位置类型类型 真实的值)替换SQL语句中占位符为真实的值 参数1在SQL语句中占位符出现的位置从1开始 参数2替换这个占位符的值
ResultSet接口
1. 作用
封装服务器端返回的数据我们只需要从ResultSet中取出数据即可。
2. 如何获取数据 3. 方法
方法名作用boolean next()将光标从当前位置向下移动一行。如果下一行有数据返回true如果到最后返回false数据类型 get数据类型(int 列号)通过列号获取数据数据类型 get数据类型(String 列名)通过列名获取数据
4. MySQL中数据类型与Java数据类型对应关系
Java数据类型数据库数据类型int、longINT、BIGINTStringCHAR、VARCHARjava.sql.Date、java.sql.Time、java.sql.TimestampDATE、TIME、DATETIMEfloat、doubleFLOAT、DOUBLE、DECIMAL
5. 查询代码
import java.sql.*;
public class AppDemo1 {public static void main(String[] args) throws SQLException {//获取连接对象Connection是一个接口返回的是它的实现类这是一种多态。实现类由MySQL驱动提供。Connection connection DriverManager.getConnection(jdbc:mysql://localhost:3306/woniu, root, root);//输出连接对象System.out.println(连接对象 connection);//创建语句对象查询所有教学部的老师PreparedStatement prepareStatement connection.prepareStatement(select * from teacher where depart?);//替换占位符prepareStatement.setString(1, 教学部);//执行查询操作返回结果集ResultSet resultSet prepareStatement.executeQuery();//遍历结果集while (resultSet.next()) {//建议基本类型都使用包装类Integer id resultSet.getInt(id);String name resultSet.getString(name);Date birthday resultSet.getDate(birthday);String depart resultSet.getString(depart);Double salary resultSet.getDouble(salary);System.out.println(编号 id \t姓名 name \t生日 birthday \t部门 depart \t工资 salary);}//关闭连接对象先开的后关resultSet.close();prepareStatement.close();connection.close();}
}总结 1.介绍JDBCJava Database Connectivity简称jdbc翻译过来就是 Java 数据库连接 2.阐述了JDBC的编程思想介绍了各个API接口的分工 3.对于JDBC相关的类进行详细的分析