什么是JDBC?

JDBC是一种可以执行sql语句的Java API,提供对数据库的访问方法。

什么是JDBC驱动?

JDBC连接数据库需要驱动,驱动是两个设备要进行通信,满足一定的数据驱动格式。一般驱动都是由数据库厂家提供的。

JDBC原理:

Java提供访问数据库规范称为JDBC,而生产厂商提供规范的实现类称为驱动。

JDBC是接口,驱动是接口的实现,没有驱动将无法完成数据库连接,从而不能操作数据库!

JDBC的开发步骤:

  1. 注册驱动.
  2. 获得连接.
  3. 获得语句执行平台
  4. 执行sql语句
  5. 处理结果
  6. 释放资源.

导入驱动包:

创建lib目录,用于存放当前项目需要的所有jar包

选择jar包,右键执行build path / Add to Build Path

JDBC工具类代码:

/*
* JDBC工具类
*/
public class JDBCUtils {
public static final String DRIVERNAME = "com.mysql.jdbc.Driver";
public static final String URL = "jdbc:mysql://localhost:3306/mydb";
public static final String USER = "root";
public static final String PASSWORD = "root"; static {
try {
Class.forName(DRIVERNAME);
} catch (ClassNotFoundException e) {
System.out.println("数据库驱动注册失败!");
}
}
//提供获取连接的方法
public static Connection getConn() throws Exception {
// 2. 获得连接
Connection conn = DriverManager.getConnection(URL, USER, PASSWORD);
// 返回连接
return conn;
}
}

使用properties文件获取配置文件:

开发中获得连接的4个参数(驱动、URL、用户名、密码)通常都存在配置文件中,方便后期维护,程序如果需要更换数据库,只需要修改配置文件即可。

通常情况下,我们习惯使用properties文件,此文件我们将做如下要求:

  1. 文件位置:任意,建议src下
  2. 文件名称:任意,扩展名为properties
  3. 文件内容:一行一组数据,格式是“key=value”.

a)         key命名自定义,如果是多个单词,习惯使用点分隔。例如:jdbc.driver

b)         value值不支持中文,如果需要使用非英文字符,将进行unicode转换。

创建文件:

在项目跟目录下,创建文件,输入“db.properties”文件名。

l  文件中的内容

driver=com.mysql.jdbc.Driver

url=jdbc:mysql://localhost:3306/mydb

user=root

password=root

加载配置文件 properties 对象:

对应properties文件处理,开发中也使用Properties对象进行。我们将采用加载properties文件获得流,然后使用Properties对象进行处理。

l  JDBCUtils.java中编写代码

public class JDBCUtils {

    private static String driver;
private static String url;
private static String user;
private static String password;
// 静态代码块
static {
try {
// 1 使用Properties处理流
// 使用load()方法加载指定的流
Properties props = new Properties();
Reader is = new FileReader("db.properties");
props.load(is);
// 2 使用getProperty(key),通过key获得需要的值,
driver = props.getProperty("driver");
url = props.getProperty("url");
user = props.getProperty("user");
password = props.getProperty("password");
} catch (Exception e) {
throw new RuntimeException(e);
}
} /**
* 获得连接
*/
public static Connection getConnection() {
try {
// 1 注册驱动
Class.forName(driver);
// 2 获得连接
Connection conn = DriverManager.getConnection(url, user, password);
return conn;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}

使用工具类:

public class Demo {
@Test
public void insert(){
try{
//1,获取连接对象
Connection conn = JDBCUtils.getConnection();
//2,指定要执行的SQL语句
String sql = "INSERT INTO zhangwu(name,money,parent) VALUES(?,?,?)";
//4,获取SQL语句的执行对象 PreparedStatement
PreparedStatement ppstat = conn.prepareStatement(sql);
//5,执行SQL语句
ppstat.setString(1, "股票收入");
ppstat.setDouble(2, 5000);
ppstat.setString(3, "收入");
int line = ppstat.executeUpdate();
//6,处理结果集
System.out.println("line=" + line);
//7,关闭连接
ppstat.close();
conn.close();
} catch(SQLException e){
throw new RuntimeException(e);
}
}
}

JDBC数据库连接工具的更多相关文章

  1. 数据库连接工具类——包含取得连接和关闭资源 ConnUtil.java

    package com.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepare ...

  2. 数据库连接工具类 数据库连接工具类——仅仅获得连接对象 ConnDB.java

    package com.util; import java.sql.Connection; import java.sql.DriverManager; /** * 数据库连接工具类——仅仅获得连接对 ...

  3. 通过使用集合Properties完成JDBC的连接工具类

    1.将数据库连接对象所需参数保存在本地文件中 database.properties driverClass=com.mysql.jdbc.Driver url=jdbc:mysql://localh ...

  4. Navicat,Dbeaver,heidiSql,DataGrip数据库连接工具比较

    Navicat,Dbeaver,heidiSql,DataGrip数据库连接工具比较 1.Navicat 2.DBeaver 3.heidiSql 4.DataGrip 1.Navicat Navic ...

  5. PLSQL-Developer数据库连接工具使用方法

    PLSQL-Developer数据库连接工具使用方法 该方法适用于本机未安装Oracle客户端的情况下如何让连接到数据库.经过本人亲自测试绝对可以连接.前提是您安装的版本没有问题,如您安装的版本有问题 ...

  6. 数据库连接工具HeidiSql介绍(支持MySQL,MariaDB,Microsoft SQL或PostgreSQL)

    前言 Navicat作为比较老牌的数据库连接工具知名度比较广,功能也比较完善,但对入门的广大初学者来讲,怎么去找安装的资源包是一大难题,虽然经过一些“渠道”能找到可以正常使用的绿色安装包,但从长期来讲 ...

  7. activemq 5.13.2 jdbc 数据库持久化 异常 找不到驱动程序

    原文:https://my.oschina.net/u/2284972/blog/662033 摘要: activemq jdbc 数据库持久化 异常 找不到驱动程序 Caused by: java. ...

  8. Spring——JDBC——数据库

    1.Spring 的数据访问哲学 数据访问的功能放到一个或者多个专注于此项任务的组件.这样的组件通常称为数据访问对象(data access object)DAO或者Repository. 为了避免应 ...

  9. Java封装JDBC数据库增、删、改、查操作成JAR文件,以供Web工程调用,适用于多种数据库

    废话不多说,直接上源代码,最后有使用方法,当然,也可以作为普通公用类使用,只是封装成JAR更方便使用. package db.util; import java.io.BufferedReader; ...

随机推荐

  1. 附8 zipkin

    一.zipkin作用 全链路追踪工具(查看依赖关系) 查看每个接口.每个service的执行速度(定位问题发生点或者寻找性能瓶颈) 二.zipkin工作原理 创造一些追踪标识符(tracingId,s ...

  2. [svc]unix和cpu发展历史

    最近搞汇编 , 有一款8086cpu,16bit, 支持内存1M 于是勾起了对计算机历史的兴趣,多了解了下 unix起源历史 [Unix发展历史 - 程序猿-贝岩博客 - CSDN博客]https:/ ...

  3. (转)Golang--使用iota(常量计数器)

    iota是golang语言的常量计数器,只能在常量的表达式中使用. iota在const关键字出现时将被重置为0(const内部的第一行之前),const中每新增一行常量声明将使iota计数一次(io ...

  4. JAVA微信支付代码(WeChatPay.java 才是调用类)

    微信官方文档:https://pay.weixin.qq.com/wiki/doc/api/index.html MD5Util.java package weixin; import java.se ...

  5. utf8 vs utf8mb4

    UTF-8 is a variable-length encoding. In the case of UTF-8, this means that storing one code point re ...

  6. java开发定时任务执行时间

    定时任务执行时间配置详解 Seconds Minutes Hours Day-of-month Month Day-of-Week Year
 秒         分        时      天  ...

  7. PSPnet模型结构的实现代码

    1 import torch import torch.nn.functional as F from torch import nn from torchvision import models f ...

  8. linux挂载概念简述:

    挂载概念简述: 根文件系统之外的其他文件要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载”,此目录即为“挂载点”,解除此关联关系的过程称之为“卸载” 1.挂载:根 ...

  9. uvm设计分析——reg

    项目中的reg_model一般只有一份,set到reg_sequence上,所以多个sequence并行启动结束的时候,reg model会成为一个共享资源. uvm_reg_field中的volat ...

  10. https://scrapingclub.com/exercise/basic_captcha/

    def parse(self, response): # set_cookies = response.headers.getlist("set-cookie").decode(& ...