mysql jdbc入门_【JDBC】JDBC入门

jdbc的入门

搭建开发环境

编写程序,在程序中加载数据库驱动

建立连接

创建用于向数据库发送sql的statement对象

从代表结果集的resultset中取出数据

断开与数据库的连接,并释放相关资源

新建一个测试用的数据库jdbctest

create database if not exists jdbctest default character set 'utf8';

use jdbctest;

create table if not exists user(

uid int unsigned auto_increment key,

username varchar(20) not null,

password varchar(20) not null,

name varchar(20) not null

)engine=innodb charset=utf8;

insert user

values

(null, 'aaa', '111', '张三'),

(null, 'bbb', '222', '李四'),

(null, 'ccc', '333', '王五');

下载数据库驱动并导入到jdbc项目

下载地址:https://mvnrepository.com/artifact/mysql/mysql-connector-java

0bb4e5a1de376729bf10a5477dd62268.png

编写jdbc测试程序(mysql版本为8.0.17)

package demo1;

import java.sql.connection;

import java.sql.drivermanager;

import java.sql.resultset;

import java.sql.sqlexception;

import java.sql.statement;

import org.junit.test;

public class jdbcdemo1 {

@test

/**

* jdbc入门程序

*/

public void demo1() {

connection conn = null;

statement stmt = null;

resultset rs = null;

try {

//1.加载驱动

class.forname("com.mysql.cj.jdbc.driver");

//2.获得连接

conn = drivermanager.getconnection("jdbc:mysql://localhost:3306/jdbctest"

+ "?usessl=false&servertimezone=hongkong&useunicode=true&characterencoding=utf-8", "root", "1234");

//3创建执行sql语句的对象,并且执行sql

//3.1创建执行sql语句的对象

string sql = "select * from user";

stmt = conn.createstatement();

//3.2执行sql

rs = stmt.executequery(sql);

while(rs.next()) {

int uid = rs.getint("uid");

string username = rs.getstring("username");

string password = rs.getstring("password");

string name = rs.getstring("name");

system.out.println(uid + "-" + username + "-" + password + "-" + name);

}

} catch (sqlexception | classnotfoundexception e) {

e.printstacktrace();

} finally {

//4.释放资源

if(rs != null) {

try {

rs.close();

} catch (sqlexception sqlex) { // ignore

}

rs = null;

}

if(stmt != null) {

try {

stmt.close();

} catch (sqlexception sqlex) { // ignore

}

stmt = null;

}

if(conn != null) {

try {

conn.close();

} catch (sqlexception sqlex) { // ignore

}

conn = null; //垃圾回收机制更早回收对象。

}

}

}

}

jdbc的api

drivermanager

611111fe9b626e44b6105edf70ce0f29.png

connection

9c2af5d0fe7dee9bb1ffb996e0bc03fe.png

statement

6a2193c4c95ded4e99cb3d1e4cd4577d.png

resultset

46824db453040f697cdfb46398ec29d4.png

jdbc的资源释放

jdbc程序运行完后,切记要释放程序在运行过程中,创建的那些与数据库进行交互的对象,这些对象通常是resultset,statement和connection对象。

特别是connection对象,它是非常稀有的资源,用完后必须马上释放,如果connection不能及时、正确的关闭,极易导致系统宕机。connection的使用原则是尽量晚创建,尽量早的释放。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值