学习目标:

Java使用JDBC步骤


学习内容:

1.为项目导入mysql-jdbc的jar包
2.初始化驱动
3.建立与数据库的连接
4.创建Statement
5.执行SQL语句
6.关闭连接
7.使用try-with-resourced的方式自动关闭连接


知识详解:

JAVA使用JDBC步骤:
1.为项目导入mysql-jdbc的jar包
2.初始化驱动
3.建立与数据库的连接
4.创建Statement
5.执行SQL语句
6.关闭连接

1.为项目导入mysql-jdbc的jar包
访问MySQL数据库需要用到第三方的类,这些第三方的类,都被压缩在一个叫做Jar的文件里。
为了代码能够使用第三方的类,需要为项目导入mysql的专用Jar包。
通常都会把项目用到的jar包统一放在项目的lib目录下。

eclipse导包过程:右键project->property->java build path->libaries->add external jars
IDEA导包过程:File->project structure->Libaries->±>xxx.jar->Apply

2.初始化驱动
通过*Class.forName(“com.mysql.jdbc.Driver”);*初始化驱动类

com.mysql.jdbc.Driver
就在 mysql-connector-java-5.0.8-bin.jar中
如果忘记了第一个步骤的导包,就会抛出ClassNotFoundException

Class.forName
是把这个类加载到JVM中,加载的时候,就会执行其中的静态初始化块,完成驱动的初始化的相关工作。

public class TestJDBC {public static void main(String[] args) {//初始化驱动try {//驱动类com.mysql.jdbc.Driver//就在 mysql-connector-java-5.0.8-bin.jar中//如果忘记了第一个步骤的导包,就会抛出ClassNotFoundExceptionClass.forName("com.mysql.jdbc.Driver");System.out.println("数据库驱动加载成功 !");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}

3.建立与数据库的连接
建立与数据库的Connection连接
这里需要提供:
数据库所处于的ip:127.0.0.1 (本机)
数据库的端口号: 3306 (mysql专用端口号)
数据库名称 how2java
编码方式 UTF-8
账号 root
密码 admin

Connection c = DriverManager.getConnection(“jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8”,“root”, “admin”);

public class TestJDBC {public static void main(String[] args) {try {Class.forName("com.mysql.jdbc.Driver");// 建立与数据库的Connection连接// 这里需要提供:// 数据库所处于的ip:127.0.0.1 (本机)// 数据库的端口号: 3306 (mysql专用端口号)// 数据库名称 how2java// 编码方式 UTF-8// 账号 root// 密码 adminConnection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8","root", "admin");System.out.println("连接成功,获取连接对象: " + c);} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}


mysql配置

4.创建Statement
Statement是用于执行SQL语句的
注意不要加错包
import java.sql.Statement;

public class TestJDBC {public static void main(String[] args) {try {Class.forName("com.mysql.jdbc.Driver");Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8","root", "admin");// 注意:使用的是 java.sql.Statement// 不要不小心使用到: com.mysql.jdbc.Statement;Statement s = c.createStatement();System.out.println("获取 Statement对象: " + s);} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}

5.执行SQL语句
基本数据库操作语句:
插入

insert into 表 values (?, '?', ?, ?)

查询

select *|属性 from 表名

修改

update 表名 set hp = 818 where id = 1

删除

delete from 表名 where id = 1

s.execute执行sql语句
执行成功后,用mysql-front或者Navicat进行查看,明确插入成功
执行前要明确数据库中有这个表

public class TestJDBC {public static void main(String[] args) {try {Class.forName("com.mysql.jdbc.Driver");Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8","root", "admin");Statement s = c.createStatement();// 准备sql语句// 注意: 字符串要用单引号'String sql = "insert into hero values(null,"+"'提莫'"+","+313.0f+","+50+")";s.execute(sql);System.out.println("执行插入语句成功");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}

6.关闭连接
数据库的连接是有限资源,相关操作结束后,养成关闭数据库的好习惯
先关闭Statement
后关闭Connection

public class TestJDBC {public static void main(String[] args) {Connection c = null;Statement s = null;try {Class.forName("com.mysql.jdbc.Driver");c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8", "root","admin");s = c.createStatement();String sql = "insert into hero values(null," + "'提莫'" + "," + 313.0f + "," + 50 + ")";s.execute(sql);} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {// 数据库的连接时有限资源,相关操作结束后,养成关闭数据库的好习惯// 先关闭Statementif (s != null)try {s.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}// 后关闭Connectionif (c != null)try {c.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
}

Java使用JDBC步骤相关推荐

  1. 后端Java连接MySQL数据库 搭建JDBC步骤及示例

    搭建JDBC步骤: 1.导入mysql驱动包导入到WEB-INF里面的lib文件 2.注册驱动Class.forName("com.mysql.jdbc.Driver");//反射 ...

  2. Java连接数据库 JDBC

    1.JDBC是什么? JDBC,英文全称:Java DataBase Connectivity,中文全称:java数据库连接,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访 ...

  3. Java培训学习步骤有哪些

    最近几年,有很多学习java技术的同学都有过半途而废的想法,认为java零基础是很难学会的,其实出现这样的问题,最主要的原因就是学习方法有问题,下面小编整理的Java培训学习步骤,希望能够帮助大家更有 ...

  4. JAVA通过JDBC连接并操作MySQL数据库

    JAVA通过JDBC连接并操作MySQL数据库 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提 ...

  5. Java通过JDBC来连接SqlServer数据库

    Java通过JDBC来连接SqlServer数据库 0.       安装配置Java运行的环境,就不废话了 1.       下载JDBC的驱动程序http://msdn.microsoft.com ...

  6. Java中JDBC连接数据库详解

    今天动力节点java学院小编分享的是JDBC连接数据库的相关知识,希望通过看过此文,各位小伙伴对DBC连接数据库有所了解,下面就跟随小编一起来看看JDBC连接数据库的知识吧. 一.JDBC连接数据库概 ...

  7. idea如何给oracle添加数据_intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作...

    intelij idea下使用java和JDBC连接oracle数据库及简单的SQL操作 发布时间:2018-07-04 10:09, 浏览次数:2532 , 标签: intelij idea jav ...

  8. java完整JDBC操作数据库

    java使用JDBC操作数据库的包含以下7个主要步骤: 1.加载JDBC驱动程序 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lang.Class类的 ...

  9. java jdbc程序,Java构建JDBC应用程序的操作

    我们在学习接口的时候.能够在里面做一些方法的调用.不过今天所要讲的JDBC,虽然也是连接数据库的一种接口,不过与类接口有着很大的区别,大家要注意区分.下面我们就构建JDBC的步骤进行了整理,还不会此类 ...

最新文章

  1. Tensorflow的基本运行方式--demo程序
  2. 面试感悟—-一名3年工作经验的程序员应该具备的技能
  3. mui解决单webview和PopPicker冲突问题
  4. Java 第二章 程序设计基础
  5. Linux命令(1)—— ls、pwd、tree、clear、文件相关操作
  6. MySQL数据类型及范围用法一览表
  7. how2java_HOW TO:构造Java类的原型
  8. 【C语言】数据结构C语言版 实验3 带头结点的单链表
  9. 贪心算法(Greedy Algorithm)
  10. 机器学习实战(八)分类回归树CART(Classification And Regression Tree)
  11. Elasticsearch 高并发写入优化的开源协同经历 | 技术头条
  12. 120多套各种类别微信小程序模板源码
  13. VMware15.5.1+macos catalina 10.5+unlocker 3.1 解决unlocker下载文件报错问题
  14. iOS马甲包预审分析工具
  15. UE4 如何导入外部插件包
  16. Java测试框架-junit5详解
  17. 基于JavaEE的办公OA系统的设计与实现
  18. 北美票房:奥斯卡提名影片票房回春
  19. 菜鸟学院~沉寂近30年后火了!存内计算如何打破AI算力瓶颈?
  20. Mysql实战45讲(二十二)Mysql有那些“饮鸩止渴”提高性能的方法?

热门文章

  1. linux的filesystem
  2. Irvine32.inc
  3. 赢商大数据厦门sm城市广场_厦门商业体竞争越来越激烈 老牌商场需加快调整步伐...
  4. 汇丰银行java框架_汇丰银行面试经历(IT类).doc
  5. 管中窥豹--机器学习之我见
  6. 浮点数运算精度丢失的问题
  7. JVM(八): 垃圾回收
  8. 回归统计在 echarts 中的实现---在散点图中加趋势线
  9. jQuery节点操作创建节点元素删除节点 替换节点复制节点等基本本操作
  10. 关于squid禁止某些站点的访问的控制 (acl语句)