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
编写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
connection
statement
resultset
jdbc的资源释放
jdbc程序运行完后,切记要释放程序在运行过程中,创建的那些与数据库进行交互的对象,这些对象通常是resultset,statement和connection对象。
特别是connection对象,它是非常稀有的资源,用完后必须马上释放,如果connection不能及时、正确的关闭,极易导致系统宕机。connection的使用原则是尽量晚创建,尽量早的释放。
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!