使用JDBC的方法
使用JDBC的方法
添加JDBC驱动
(数据库用的是MySQL就下载mysql的JDBC驱动)
将其中的.jar文件拷贝到Java Project中的lib文件夹下
右键点击.jar Build Path--> Add to Build Path
使用步骤:
1.注册驱动
2.建立连接
3.创建执行对象PreparedStatement
4.执行sql,得到ResultSet
5.遍历结果集
6.释放资源
[注]:executeQuery(sql):执行查询的sql语句
executeUpdate(sql): 执行增删改的sql语句
完整代码:
package com.itheima.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
public class JDBCDemo {
public static void main(String[] args) {
try {
// 1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.建立连接 参数一:协议+访问的数据库 参数二:用户名 参数三:密码
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost/studentdb", "root", "123456");
// 3.创建执行对象
String sql = "select * from t_stu";
PreparedStatement ps =conn.prepareStatement(sql);
// 4.执行查询
ResultSet rs = ps.executeQuery();
// 5.遍历查询每一条记录
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println("id=" + id + "\t name=" + name + "\t age="
+ age);
}
// 6.释放资源 先开启的对象后关闭,后开启的对象先关闭
rs.close();
ps.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
改进版:(将资源释放、驱动注册、连接对象 放到到工具类JDBCUtil.java中)
完整代码:
JDBCTest.java
package com.itheima.test;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import com.itheima.util.JDBCUtil;
public class JDBCTest {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
// 1.注册驱动 2.建立连接
conn = JDBCUtil.getConn();
// 3.创建PreparedStatement
String sql = "select * from t_stu";
ps = conn.prepareStatement(sql);
// 4.执行查询 得到结果集
rs = ps.executeQuery(sql);
// 5.遍历查询每一条记录
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println("id=" + id + "\t name=" + name + "\t age="
+ age);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCUtil.release(conn, ps, rs);
}
}
}
工具类的代码:JDBCUtil.java
package com.itheima.util;
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Properties;
public class JDBCUtil {
static String driverClass = null;
static String url = null;
static String name = null;
static String password = null;
static {
try {
// 1.创建一个属性配置对象
Properties properties = new Properties();
//方法一:将jdbc.properties放在根目录下
InputStream is = new FileInputStream("jdbc.properties");
/*方法二:将jdbc.properties文件放到src文件夹下用此方法
* 使用类加载器,去读取src底下的资源文件
InputStream is = JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");
*/
// 导入输入流
properties.load(is);
// 读取属性
driverClass = properties.getProperty("driverClass");
url = properties.getProperty("url");
name = properties.getProperty("name");
password = properties.getProperty("password");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 获取连接对象
*
* @return
*/
public static Connection getConn() {
Connection conn = null;
try {
// 1.注册驱动
Class.forName(driverClass);
// 2.建立连接
conn = DriverManager.getConnection(url, name, password);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
/**
* 释放资源
*
* @param conn
* @param ps
* @param rs
*/
public static void release(Connection conn, PreparedStatement ps, ResultSet rs) {
closeRs(rs);
closePs(ps);
closeConn(conn);
}
private static void closeRs(ResultSet rs) {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
rs = null;
}
}
private static void closePs(PreparedStatement ps) {
try {
if (ps != null) {
ps.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
ps = null;
}
}
private static void closeConn(Connection conn) {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
conn = null;
}
}
}
配置文件jdbc.properties(放在根目录下)
driverClass = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost/studentdb
name = root
password = 123456
[注]:1. 注册驱动其实可以不写,因为jdbc4以后是自动注册的。
2.读取配置文件有两种方法
创建一个属性配置对象
Properties properties = new Properties();
//方法一:将jdbc.properties放在根目录下
InputStream is = new FileInputStream("jdbc.properties");
/*方法二:将jdbc.properties文件放到src文件夹下用此方法
* 使用类加载器,去读取src底下的资源文件
InputStream is = JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");
推荐阅读
-
使用JDBC的方法
-
FinalShell简单的使用
-
kylin -- 使用JDBC连接操作Kylin
-
【若泽大数据实战第十八天】Hive - 创建测试表dual的使用
-
Iterator 遍历器的简单使用
-
关于Quartz定时任务的使用
-
再谈DOS批处理下格式化日期字符串的方法(详解) 博客分类: OS个人随笔
-
MySQL中的字符集涵义及使用方法总结(二) 博客分类: MySQL MySQLJDBC虚拟机OSSQL
-
MySQL中的字符集涵义及使用方法总结(一) 博客分类: MySQL MySQLSQL ServerLinux网络应用Windows
-
各种数据库临时表的使用区别总结 博客分类: SYBASE ASEDatabase GeneralDB2|PostgreSQL|SQLite|OthersMySQLOracle