什么是JDBC

• JDBC(Java Data Base Connectivity,Java数据库连接)

• 是一种用于执行SQL语句的Java API,为多种关系数据库提供统一访问

• 它由一组用Java语言编写的类和接口组成

JDBC访问数据库步骤

• 1:加载一个Driver驱动

要通过JDBC与数据库连接,先要加载JDBC驱动Driver,这个要想导入一个mysql-connector-java.jar包;各版本

不同的JDK版本可能对应不同的jar包,如果不行可以换一个jar包试一下;具体不同的编辑器导入jar包的方式可能不一样,所以导入包的方式不懂的话可以到网上搜一下;

java加载mysql数据库Driver驱动的形式:

5.XXX之前版本: Class.forName("com.mysql.JDBC.Driver");

6.XXX版本之后的就是    Class.forName("com.mysql.cj.JDBC.Driver")

• 2:创建数据库连接(Connection)

与数据库建立连接的方法是调用DriverManager.getConnection(String url, String user, String password )方法

• Connection conn=null;

• String url="jdbc:mysql://localhost:3306/login";  // 格式是 "jdbc:mysql://IP地址:端口号/数据库名称"

• String user=“root";  //用户名

• String password=“7820170";  //密码

• conn = DriverManager.getConnection(url, user, password);  //建立连接

• 3 :创建SQL命令发送器Statement对象

有三种 Statement对象:

• Statement:用于执行不带参数的简单SQL语句;(这个对象要直接传一个字符串来操作数据库,虽然可以拼接字符串,但不方便,还有sql注入的危险;)

String sql="select * from user where id=1";//创建sql语句

Statement stmt=conn.createStatement();//创建Statement对象

stmt.execute(sql);//发送sql语句,对于发送还有其他的方法,有不同的功能,后面再讲

• PreparedStatement(从 Statement 继承):用于执行带或不带参数的预编译SQL语句;(这个对象可以,通过传参数的方式来完成sql语句的编写,比较方便和安全,但这个SQL语句要预编译,对于操作大量SQL语句不合适,如果需要操作大量SQL语句还是使用Statement比较好)

String sql="insert into students (name,age,school) values (?,?,?)";//?表示占位符

PreparedStatement ps =conn.prepareStatement(sql);//因为 PerparedStatement 中的 SQL 语句数据库需要进行预编译和缓存,

因此要在创建 PerparedStatement 对象时给出 SQL 语句

ps.setString(1, "hhh");//传参数,从1开始,而不是从0开始

ps.setString(2, "18");

ps.setString(3, "广财");

System.out.println("成功插入一条信息");

ps.execute();//提交

• CallableStatement(从PreparedStatement 继承):用于执行数据库存储过程的调用。

这个暂时不清楚,就不写了

• 4:通过Statement发送SQL命令并得到结果

ResultSetexecuteQuery(String sql); 执行SQL查询,并返回ResultSet 对象。intexecuteUpdate(String sql); 可执行增,删,改,返回执行受到影响的行数。booleanexecute(String sql); 可执行任何SQL语句,返回一个布尔值,表示是否返回ResultSet 。

• 5:处理结果(select语句)

返回的RsultSet如何遍历:

ResultSet rs=ps.executeQuery();//返回的是一个迭代对象while(rs.next()) {//判断是否还有可以迭代的对象

System.out.println(rs.getInt(1)+"---"+rs.getString(2)+"---"+rs.getInt(3));//getInt(1)返回第一列的int行的数据,如果数据类型不对会报错当然也可以直接传第一列的名称,比如:getInt("id");

}

• 6:关闭数据库资源

• 作为一种好的编程风格,应在不需要Statement对象和Connection对象时显式地关闭它们。关闭Statement对象和Connection对象的语法形式为:

• public void close() throws SQLException

• 用户不必关闭ResultSet。当它的 Statement 关闭、重新执行或用于从多结果序列中获取下一个结果时,该ResultSet将被自动关闭。

• 注意:要按先ResultSet结果集,后Statement,最后Connection的顺序关闭资源,因为Statement和ResultSet是需要连接是才可以使用的,所以在使用结束之后有可能其他的Statement还需要连接,所以不能先关闭Connection。

try{

rs.close();

}catch(SQLException e) {//TODO Auto-generated catch block

e.printStackTrace();

}try{

ps.close();

}catch(SQLException e) {//TODO Auto-generated catch block

e.printStackTrace();

}try{

conn.close();

}catch(SQLException e) {//TODO Auto-generated catch block

e.printStackTrace();

}

java mysql数据库编程_java JDBC数据库(mysql)编程相关推荐

  1. 【Java数据库】使用JDBC操作MySQL数据库、Batch批处理 、事务的概念

    MySQL 数据库的命令行操作 登陆操作mysql -hlocalhost –uroot –p123456 退出操作exit 数据库操作建库:create database 库名; 卸载库:drop ...

  2. java mysql访问类_java 访问数据库公共类

    package com.javaweb.mvc; import java.util.ArrayList; import java.util.List; import java.sql.*;/** * ...

  3. java启动mysq服务_Java Web开发——MySQL数据库的安装与配置

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RD ...

  4. jsp mysql驱动程序_JSP通过JDBC驱动MySQL数据库方法

    JSP通过JDBC驱动MySQL数据库方法 发布时间:2020-03-26 15:42 百度谷歌一翻后,发现jsp要连mysql数据库的话,有这样的一种方法:使用jsp通过JDBC驱动链接MySQL数 ...

  5. mysql 数据库dbhelp_使用JDBC连接MYSQL数据库的问题

    ------------这是源代码-------- package util; import java.sql.Connection; import java.sql.DriverManager; p ...

  6. java语言数据库编程_JAVA语言数据库编程实例详解

    本文主要向大家介绍了JAVA语言数据库编程实例详解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. DOS命令登录MySQL数据库:mysql -h 127.0.0.1 -u root ...

  7. 咋样查mysql的url_eclipse用jdbc连接mysql数据库时,url是填什么?怎样找出地址?

    展开全部 jdbc连接mysql数据62616964757a686964616fe78988e69d8331333337623535库的url为: jdbc:mysql://主机名或IP抵制:端口号/ ...

  8. java 核心技术Ⅱ--章五:JDBC数据库编程

    java数据库编程JDBC 简单的jdbc编程示例: public class DBTest {public static void runTest(){Connection conn = null; ...

  9. java操作oracle数据_Java jdbc操作oracle数据库的两种方式

    本文由广州疯狂软件java培训分享: 第一种应该是比较古老的方法了. Windows下采用JDBC-ODBC Bridge连接oracle数据库 1. 安装oracle客户端程序,在tnsnames. ...

最新文章

  1. Android 白天/夜间模式切换
  2. linux内核调优参考
  3. [译] 写给大家看的 Cache-Control 指令配置
  4. IT人员健康信号之鼻炎养护
  5. Android SQLite开发调试工具 Android Debug Database
  6. Unity HDRP渲染管线基础指南
  7. Visual Studio 2012 C# ActiveX控件开发总结
  8. adf.test_在ADF 12.2.1.3中使用基于JSON的REST Web服务
  9. STM32----SysTick实现监控开机时长
  10. python 从数据库 提取数据 生成html_python如何将数据生成html文件+浏览器中文显示乱码问题...
  11. 【linux-command not find解决方法 】
  12. NSUserDefaults写作和阅读对象定义自己
  13. 阶段3 2.Spring_07.银行转账案例_9 基于子类的动态代理
  14. linux 命令汇总(搜索、fdfs、常用命令),虚拟机dump文件
  15. 国稻种芯百团计划行动 丰收节贸促会·黎志康:惠及亚非18国家
  16. SQL语法INSERT INTO_大数据培训
  17. MCS:离散随机变量——Poisson分布
  18. 哈啰电动车“智慧门店”设想,经销商们买账吗?
  19. 宇宙中的“创造之柱”
  20. Docker 教程:如何将Helix QAC作为容器创建并运行 下

热门文章

  1. vue中用的swiper轮播图的用法github的地址
  2. php单文件压缩的功能函数的实现
  3. Laravel 将数据表中的数据导出,并生成seed文件
  4. 一致性哈希算法与Java实现
  5. 封装的ExtGrid 实现增、删、改、查等功能
  6. java set的first_Java TreeSet pollFirst()方法与示例
  7. java final的内存_Java并发编程之final域的内存语义
  8. 一键截图_教你一键为iPhone截图加上手机外壳,新技能快学起来!
  9. 科技核心期刊目录_中医学2019年版中国科技核心期刊目录(附影响因子)
  10. ipynb是什么文件_数据科学家的神器:为什么大家都用Kaggle?