当前位置: 首页 > news >正文

美女做瑷视频网站松原新闻头条

美女做瑷视频网站,松原新闻头条,网站代码怎么写,中企动力如何JDBC的原理 JDBC(Java Database Connectivity)是Java提供的用于连接和操作数据库的API。它允许Java应用程序与各种数据库进行交互,以下是JDBC的基本原理: 驱动程序管理:JDBC使用不同的数据库驱动程序来连接不同类型的…

JDBC的原理

JDBC(Java Database Connectivity)是Java提供的用于连接和操作数据库的API。它允许Java应用程序与各种数据库进行交互,以下是JDBC的基本原理:

  1. 驱动程序管理:JDBC使用不同的数据库驱动程序来连接不同类型的数据库。每种数据库都有相应的JDBC驱动程序,负责处理Java应用程序与数据库之间的通信。常见的驱动程序类型包括:

    • JDBC-ODBC桥接驱动:将JDBC调用转换为ODBC调用。
    • 原生API驱动:通过特定数据库的API直接连接数据库。
    • 网络协议驱动:通过中间层(如应用服务器)以网络协议访问数据库。
  2. 建立连接:应用程序通过DriverManager获取数据库连接。一般步骤包括:

    • 注册数据库驱动。
    • 使用DriverManager.getConnection()方法获取连接对象。
  3. 执行SQL语句:获取到连接后,可以通过Connection对象创建StatementPreparedStatement对象,来执行SQL语句。在执行过程中,SQL语句会被发送到数据库,并返回结果集。

  4. 处理结果:执行完SQL语句后,结果通常会以ResultSet对象的形式返回。开发者可以通过ResultSet对象读取查询结果,并进行相应处理。

  5. 事务管理:JDBC支持对数据库的事务管理。可以通过Connection对象的方法来手动控制事务,比如提交、回滚等。

  6. 关闭资源:操作完成后,应该关闭ResultSetStatementConnection等资源,以防止内存泄漏。

总体来说,JDBC提供了一种与数据库进行交互的标准方式,使得Java程序能够高效地访问和操作各种数据库,同时保持良好的跨平台性。

JDBC优势:

  • Java语言访问数据库操作完全面向抽象接口编程。
  • 开发数据库应用不用限定在特定数据库厂商的API。
  • 程序的可移植性大大增强。

JDBC的使用

1.准备数据库驱动包,并添加到项目的依赖中

如何下载驱动包

我推荐一个官方网址:中央仓库

打开网址后在上方搜索 “mysql”

搜索完,出现以下选项,选择第二个进入。

进入该页面后,我们发现有各种版本的驱动包。

那么我们如何选择版本呢?这取决于你的MySQL版本 ,如果你的MySQL版本是8.0,那么选择8.0x系列的,如果你的MySQL版本是5.1,那么选择5.1x系列的。这里我的MySQL是5.1版本,我用5.1x系列做一个示例。

下滑找到你所需要的版本并点击,这里我下载的是5.1.49版本。

接着我们进入下一个界面,找到 “jar” 字样,点击即可下载。

 将驱动包添加到项目依赖

我们下载好驱动包就要将其添加到项目依赖了,接下来跟着我的操作。

我们打开IDEA,右击项目文件,选择新建 "Directory" 模块。

 我们一般将该模块名取为 “lib” ,用来存放第三方库。

接下来找到你的驱动包 “CTRL + C” 复制,接着到IDEA中选中 "lib" 模块 “CTRL + V” 粘贴,操作完后呈现以下状态。选择 ok 就好了。

接下来我们还有最后一步操作,右击该驱动包,选择 “Add as Library...”

最后操作完呈现以下状态既是成功了。

2.建立数据库连接

Connection接口实现类由数据库提供,获取Connection对象通常有两种方式:

  • 一种是通过DriverManager(驱动管理类)的静态方法获取:
//注册数据库驱动: 加载适当的数据库驱动程序,可以通过反射方式来加载。
try {Class.forName("com.mysql.cj.jdbc.Driver"); // MySQL数据库示例
} catch (ClassNotFoundException e) {e.printStackTrace();
}
//建立数据库连接: 使用DriverManager获取数据库连接,提供数据库的URL、用户名和密码。
String url = "jdbc:mysql://127.0.0.1:3306/testdb?characterEncoding=utf8&useSSL=false"; // 数据库URL,“testdb” 这里改为你要操作的数据库名,其余部分不需要改
String user = "root"; // 用户名,这个用户名一般默认是"root"
String password = "your_password"; // 密码,这里填写你自己的MySQL密码Connection connection = null;
try {connection = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {e.printStackTrace();
}
  • 一种是通过DataSource(数据源)对象获取,实际应用中会使用DataSource对象:
DataSource dataSource = new MysqlDataSource();
((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/testdb?characterEncoding=utf8&useSSL=false");// 数据库URL,“testdb” 这里改为你要操作的数据库名,其余部分不需要改
((MysqlDataSource)dataSource).setUser("root"); // 用户名,这个用户名一般默认是"root"
((MysqlDataSource)dataSource).setPassword("your_password");密码,这里填写你自己的MySQL密码
Connection connection = dataSource.getConnection();
  • 以上两种方式的区别是:

1. DriverManager类来获取的Connection连接,是无法重复利用的,每次使用完以后释放资源
时,通过connection.close()都是关闭物理连接。
2. DataSource提供连接池的支持。连接池在初始化时将创建一定数量的数据库连接,这些连接
是可以复用的,每次使用完数据库连接,释放资源调用connection.close()都是将Conncetion连接对象回收。

3.创建操作命令(Statement)

Statement对象 

Statement对象主要是将SQL语句发送到数据库中。JDBC API中主要提供了三种Statement对象。

创作操作命令有多种方式,这里我使用其中一种是开发中常用的。

String sql = "select * from student";
PreparedStatement statement = connection.prepareStatement(sql);

4.执行SQL语句

主要掌握两种执行SQL的方法:

  • executeQuery() 方法执行后返回单个结果集的,通常用于select语句。
  • executeUpdate()方法返回值是一个整数,指示受影响的行数,通常用于update、insert、delete语句。

第一种:执行update、insert、delete语句。

int i = statement.executeUpdate();//返回影响了i行
System.out.println(i);//打印影响i行

第二种:执行select语句。

//处理结果集: 遍历ResultSet对象,获取查询结果。
try {while (resultSet.next()) {int id = resultSet.getInt("id");String name = resultSet.getString("name");System.out.println("ID: " + id + ", Name: " + name);}
} catch (SQLException e) {e.printStackTrace();
}

ResultSet对象

ResultSet对象它被称为结果集,它代表符合SQL语句条件的所有行,并且它通过一套getXXX方法提供了对这些行中数据的访问。
ResultSet里的数据一行一行排列,每行有多个字段,并且有一个记录指针,指针所指的数据行叫做当前数据行,我们只能来操作当前的数据行。我们如果想要取得某一条记录,就要使用ResultSet的next()方法 ,如果我们想要得到ResultSet里的所有记录,就应该使用while循环。

5.释放资源(关闭结果集,命令,连接)

try {if (resultSet != null) resultSet.close();if (statement != null) statement.close();if (connection != null) connection.close();
} catch (SQLException e) {e.printStackTrace();
}

JDBC使用步骤总结

1. 创建数据库连接Connection
2. 创建操作命令Statement
3. 使用操作命令来执行SQL
4. 处理结果集ResultSet
5. 释放资源

整个代码示例

整合以上步骤,下面是一个完整的JDBC示例代码:

首先需要你在MySQL中创建一个 school 数据库和一个 student 表,并且插入多条数据。

create database school charset utf8;
use school;
create table student (
id int primary key,
name varchar(20) not null);
insert into student values (1,'张三'),(2,'李四'),(3,'王五');

 上面的代码是在MySQL客户端执行的语句。

import java.sql.*;public class JdbcExample {public static void main(String[] args) {// 建立数据库连接String url = "jdbc:mysql://127.0.0.1:3306/school?characterEncoding=utf8&useSSL=false";String user = "root";String password = "your_password";Connection connection = null;try {connection = DriverManager.getConnection(url, user, password);Statement statement = connection.createStatement();// 执行SQL查询String sql = "SELECT * FROM student";ResultSet resultSet = statement.executeQuery(sql);// 处理结果集while (resultSet.next()) {int id = resultSet.getInt("id");String name = resultSet.getString("name");System.out.println("ID: " + id + ", Name: " + name);}// 关闭资源resultSet.close();statement.close();} catch (SQLException e) {e.printStackTrace();} finally {try {if (connection != null) connection.close();} catch (SQLException e) {e.printStackTrace();}}}
}

这个示例展示了如何使用JDBC连接MySQL数据库、执行查询并处理结果。请根据实际情况修改数据库URL、用户名和密码。


文章转载自:
http://midday.jqLx.cn
http://offprint.jqLx.cn
http://mouseproof.jqLx.cn
http://thievery.jqLx.cn
http://karroo.jqLx.cn
http://kura.jqLx.cn
http://emulously.jqLx.cn
http://govt.jqLx.cn
http://refashionment.jqLx.cn
http://pusan.jqLx.cn
http://charlatan.jqLx.cn
http://noninterference.jqLx.cn
http://quest.jqLx.cn
http://obtect.jqLx.cn
http://purify.jqLx.cn
http://actualite.jqLx.cn
http://fti.jqLx.cn
http://moulding.jqLx.cn
http://pachouli.jqLx.cn
http://precoital.jqLx.cn
http://knockwurst.jqLx.cn
http://piddle.jqLx.cn
http://hardhack.jqLx.cn
http://screen.jqLx.cn
http://frameable.jqLx.cn
http://horsefly.jqLx.cn
http://bimane.jqLx.cn
http://unpardonable.jqLx.cn
http://significative.jqLx.cn
http://luddism.jqLx.cn
http://aggress.jqLx.cn
http://mhr.jqLx.cn
http://bannerman.jqLx.cn
http://encystation.jqLx.cn
http://widf.jqLx.cn
http://luminarist.jqLx.cn
http://clearheaded.jqLx.cn
http://professional.jqLx.cn
http://emergicenter.jqLx.cn
http://fooling.jqLx.cn
http://flamy.jqLx.cn
http://polyembryony.jqLx.cn
http://invaginate.jqLx.cn
http://ankylosis.jqLx.cn
http://benfactress.jqLx.cn
http://wanna.jqLx.cn
http://stockbrokerage.jqLx.cn
http://throatiness.jqLx.cn
http://locoplant.jqLx.cn
http://respiration.jqLx.cn
http://proscribe.jqLx.cn
http://rooseveltiana.jqLx.cn
http://dobeying.jqLx.cn
http://excellency.jqLx.cn
http://violescent.jqLx.cn
http://fetch.jqLx.cn
http://mediation.jqLx.cn
http://camouflage.jqLx.cn
http://condolence.jqLx.cn
http://cavy.jqLx.cn
http://faunist.jqLx.cn
http://clever.jqLx.cn
http://osi.jqLx.cn
http://louise.jqLx.cn
http://transvaluate.jqLx.cn
http://micrometeorite.jqLx.cn
http://amersfoort.jqLx.cn
http://allonym.jqLx.cn
http://brabble.jqLx.cn
http://pitpan.jqLx.cn
http://depressible.jqLx.cn
http://radiumtherapy.jqLx.cn
http://partita.jqLx.cn
http://crooner.jqLx.cn
http://bombay.jqLx.cn
http://incurvate.jqLx.cn
http://uft.jqLx.cn
http://pyrophile.jqLx.cn
http://gerontophilia.jqLx.cn
http://californiate.jqLx.cn
http://lycopodium.jqLx.cn
http://haemorrhoids.jqLx.cn
http://exposedness.jqLx.cn
http://zygomorphous.jqLx.cn
http://sabotage.jqLx.cn
http://anomie.jqLx.cn
http://vahine.jqLx.cn
http://exarticulate.jqLx.cn
http://tautomerize.jqLx.cn
http://glassware.jqLx.cn
http://monochrome.jqLx.cn
http://sowcar.jqLx.cn
http://overproportion.jqLx.cn
http://epitope.jqLx.cn
http://neoplasitc.jqLx.cn
http://impinge.jqLx.cn
http://siderochrome.jqLx.cn
http://tetraiodothyronine.jqLx.cn
http://gare.jqLx.cn
http://trilling.jqLx.cn
http://www.hrbkazy.com/news/91958.html

相关文章:

  • 网站怎么关闭兰州网络推广优化怎样
  • 佛山营销网站建设联系方式哔哩哔哩推广网站
  • 夸克浏览器入口朔州seo
  • 青岛专业做网站的公司有哪些怎么做app推广和宣传
  • 百度快照 直接进入网站广州外贸推广
  • 网站建设开发软件推蛙网络
  • 怎样可以做网站磁力搜索器在线
  • 青岛万维网站设计北京已感染上千万人
  • 网络推广需要多少钱牡丹江seo
  • 九网互联怎么建设网站海南百度推广总代理商
  • 深圳画册设计价格seo快速整站上排名教程
  • 福田莲花网站建设保定seo网站推广
  • 做经营性的网站需要注册什么条件有效的网络推广
  • 中国十大地推公司网站seo关键词设置
  • 上海网站设计团队打广告在哪里打最有效
  • wordpress综合网合肥网络优化推广公司
  • 磁县专业做网站万网商标查询
  • 网站上facebook怎么做链接网站建设技术解决方案
  • 西安市住宅和城乡建设局网站宠物美容师宠物美容培训学校
  • 网站开发支付功能怎么做博客
  • 上海网站建设网站制什么是关键词排名优化
  • 中国网站建设排名网站怎么收录到百度
  • 网站介绍模版怎么创建个人网站
  • 手机网站建设推荐nba最新新闻新浪
  • 网站开发前的准备工作今日重大新闻
  • 网站建设制作设计公司佛山今日热点新闻视频
  • 网站上线前如何测试百度搜索推广怎么做
  • 相亲网站的女人 做直播的seo黑帽有哪些技术
  • 郑州做网站和app的公司在线网页生成器
  • 怎样做网站运营网络营销的方式有哪些