一、JDBC
通俗的讲,jdbc就是java连接数据库的一门技术。
二、准备工作
1、创建一个数据库jt_db,里面有张account表,表中含有如下数据:
2、在你使用的项目下,创建一个lib包。去下载一个mysql-connector-java-5.1.47.jar包,存入lib包中。完成上述步骤之后,右击mysql-connector-java-5.1.47.jar,build path右击add build path,即可导入该jar包。
3、jdbc使用的六大步骤
2.1 注册数据库驱动
2.2 获取数据库连接
2.3 获取传输器
2.4 基于传输器发送sql语句至服务器执行,并返回执行结果
2.5 处理结果
2.6 释放资源
三、小练习
需求:
1、查看account内容
2、tom薪水加200
3、andy薪水减200
4、tony改名位bob
结果:
源码:
package com.tedu.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
// 这个类用来测试jdbc的用法
public class TestJdbc {
// 打印数据(进行封装,提高代码的复用性)
public static void print(Statement stat, String sql,ResultSet rs) {
try {
rs = stat.executeQuery(sql);
while( rs.next() ) {
Integer id = rs.getInt("id");
String n = rs.getString("name");
Double money = rs.getDouble("money");
System.out.println("id=" + id + " name=" + n + " money=" + money);
}
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println();
}
public static void main(String[] args) {
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
try {
// 1.注册数据库驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.获取数据库连接
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jt_db?characterEncoding=utf-8", "root",
"root");
// 3.获取传输器
stat = conn.createStatement();
// 4.基于传输器发送sql语句至服务器,返回执行结果 // 5.处理结果
String sql = "select *From account";
String name = "tom", name2 = "andy", name3 = "tony";
String sql2 = "update account set money = money + 200 where name = '" + name + "' ";
String sql3 = "update account set money = money - 200 where name = '" + name2 + "' ";
String sql4 = "update account set name = '" + "bob" + "' where name = '" + name3 + "' ";
System.out.println("1、查看account内容");
print(stat, sql, rs);
System.out.println("2、tom薪水加200");
int row = stat.executeUpdate(sql2);
print(stat, sql, rs);
System.out.println("3、andy薪水减200");
row = stat.executeUpdate(sql3);
print(stat, sql, rs);
System.out.println("4、tony改名为bob");
row = stat.executeUpdate(sql4);
print(stat, sql, rs);
} catch (Exception e) {
e.printStackTrace();
} finally{
// 6.释放资源
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
rs = null;
}
}
if (stat != null) {
try {
stat.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
stat = null;
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
conn = null;
}
}
}
}
}