admin管理员组文章数量:1794759
JDBC连接数据库
一、JDBC的概念
1、什么是jdbc?
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发者能够编写数据库的程序。简单地说,JDBC 可做三件事:与数据库建立连接、发送 操作数据库的语句并处理结果。 2、JDBC有什么用呢? 可以让我们使用JAVA就能连接数据库,创建和执行SQL语句对数据库进行增删改查的操作,并可以查看执行后的结果记录,对数据库的数据进行维护和管理;
二、jdbc常用的方法接口java.sql.* 和 javax.sql.*
1. Driver接口: 表示java驱动程序接口。所有的具体的数据库厂商要来实现此接口。
connect(url, properties): 连接数据库的方法。
url: 连接数据库的URL
URL语法: jdbc协议:数据库子协议://主机:端口/数据库
user: 数据库的用户名
password: 数据库用户密码
2. DriverManager类: 驱动管理器类,用于管理所有注册的驱动程序
registerDriver(driver) : 注册驱动类对象
Connection getConnection(url,user,password): 获取连接对象
3. Connection接口: 表示java程序和数据库的连接对象。
Statement createStatement() : 创建Statement对象
PreparedStatement prepareStatement(String sql):创建PreparedStatement对象
CallableStatement prepareCall(String sql):创建CallableStatement对象
4. Statement接口: 用于执行静态的sql语句
int executeUpdate(String sql) : 执行静态的更新sql语句(DDL,DML)
ResultSet executeQuery(String sql) :执行的静态的查询sql语句(DQL)
5. PreparedStatement接口:用于执行预编译sql语句
int executeUpdate() : 执行预编译的更新sql语句(DDL,DML)
ResultSet executeQuery() : 执行预编译的查询sql语句(DQL)
6. CallableStatement接口:用于执行存储过程的sql语句(call xxx)
ResultSet executeQuery() : 调用存储过程的方法
7. ResultSet接口:用于封装查询出来的数据
boolean next() : 将光标移动到下一行
getXX() : 获取列的值
二、使用jdbc操作数据库步骤1. 首先加载相关依赖,依赖的版本要和数据库的版本一致
使用maven管理项目的话直接添加依赖 maven依赖仓库 mvnrepository/artifact/Mysql/mysql-connector-java
<!--mysql依赖--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.22</version> </dependency>普通的java工程首先把依赖下载下来,然后创建一个lib包,把mysql依赖复制并添加进去 下载链接:mysql-connector-java-8.0.22.jar_免费高速下载|百度网盘-分享无限制 (baidu) 提取码:bs7p
2. 提供数据库产品(驱动名称)——告诉jdbc我们从操作的是哪家的数据库产品,需要获取哪个驱动; 提供数据库的url——告诉jdbc我们连接的是哪个服务器上面的哪个数据库; 提供数据库的用户名和密码——登录数据库服务器,获得数据库的操作权限;
3. 加载驱动——直接使用类反射机制加载driver驱动
//加载mysql驱动 Class.forName(driver);4. 获取数据库连接——用driver驱动获取数据库连接connection
//获取数据库连接 Connection conn = DriverManager.getConnection(url,user,pass);5. 编写sql语句——需要创建Statement对象把sql语句给数据库
//编写sql语句 String sql = "insert into admin(username,password) values('测试账号','测试密码')"; //创建Statement Statement statement = conn.createStatement();6. 使用Statement把sql语句发送给数据库执行
//执行sql语句 int count = statement.executeUpdate(sql); System.out.println("执行sql成功,一共影响了"+count+"条数据");7. 关闭数据库连接,释放不必要的资源
//释放资源(建议先判断statement和conn是否为空再进行关闭) if(statement != null){ statement.close(); } if(conn != null){ conn.close(); } 三、操作示例和运行结果代码示例,(记得先把mysql的依赖导入进来)
import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class JdbcDemo{ //驱动名称(包含了数据库的产品和数据库的版本号) private static String driver = "com.mysql.cj.jdbc.Driver"; //数据库的url private static String url = "jdbc:mysql://localhost:3306/stusys?useSSL=false&serverTimezone=UTC"; //数据库用户名 private static String user = "root"; //数据库密码 private static String pass = "123456"; //使用jdbc进行添加操作 public static void select() throws Exception { //加载mysql驱动 Class.forName(driver); //获取数据库连接 Connection conn = DriverManager.getConnection(url,user,pass); //编写sql语句 String sql = "insert into admin(username,password) values('测试账号','测试密码')"; //创建Statement Statement statement = conn.createStatement(); //执行sql语句 int count = statement.executeUpdate(sql); System.out.println("执行sql成功,一共影响了"+count+"条数据"); //释放资源(建议先判断statement和conn是否为空再进行关闭) if(statement != null){ statement.close(); } if(conn != null){ conn.close(); } } //测试类的主方法 public static void main(String[] args) throws Exception { select(); } }代码运行前
代码运行结果
代码运行后,数据库发生变化
版权声明:本文标题:JDBC连接数据库 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686768475a100254.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论