JDBC的入门
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的使用原则是尽量晚创建,尽量早的释放。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。