JDBC:Java数据库连接技术
可能使用JDBC的两大类公司:
1、大型公司,对数据库要求很高。
2、初创公司,对技术要求只要能完成业务就行。
学习目标:使用JDBC对数据库表中的内容进行增删改查。
三大数据库软件规模:Oracle > SQL server > MySQL
实际工作中MySQL用的比较多,一个是因为免费,另一个则是操作简单。
DriverManager:管理JDBC的驱动
Connection:负责连接数据库并承担数据传送
Statement:负责发送并执行的任务
ResultSet:负责保管Statement执行后产生的查询结果
1、记载驱动 2、创建数据库连接的connection 3、创建SQL 4、使用Statement执行SQL
5、处理执行结果 6、关闭资源ResultSet Statement
所有组都要完成将聊天记录保存到数据库中
老师说Python也是面向对象编程
MySql插入语句
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class MySql插入语句 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 创建数据库连接的connection
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test1", "root", "123456");
// 创建SQL命令
String sql = "insert into user values(003, 'xiaoqiang', '567789')";
// 创建statement对象
Statement state = con.createStatement();
int count = state.executeUpdate(sql);
if (count == 0) {
System.out.println("插入失败!");
} else {
System.out.println("插入成功!");
}
state.close();
con.close();
}
}
MySql修改操作
//import java.beans.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
//import com.mysql.jdbc.Statement;
public class MySql修改操作 {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/test1";
String user = "root";
String pwd = "123456";
Connection con = null;
Statement state = null;
try {//加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 创建链接
con = DriverManager.getConnection(url, user, pwd);
// 定义SQL
String sql = "UPDATE user SET u_name = 'ABC' WHERE u_id = 2";
// 创建statement对象
state = con.createStatement();
int count = state.executeUpdate(sql);
if (count == 0) {
System.out.println("修改失败!");
} else {
System.out.println("修改成功!");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (state != null) {
state.close();
}
} catch (Exception e) {
e.printStackTrace();
}
try {
if (con != null) {
con.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
MySql删除
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class MySql删除 {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/test1";
String user = "root";
String pwd = "123456";
Connection con = null;
Statement state = null;
try {
// 加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 创建链接
con = DriverManager.getConnection(url, user, pwd);
// 定义SQL
String sql = "DELETE from `user` WHERE u_id = 1;";
// 创建statement对象
state = con.createStatement();
int count = state.executeUpdate(sql);
if (count == 0) {
System.out.println("删除失败!");
} else {
System.out.println("删除成功!");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (state != null) {
state.close();
}
} catch (Exception e) {
e.printStackTrace();
}
try {
if (con != null) {
con.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
MySql查询_与其他三种操作不同
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class MySql查询_与其他三种操作不同 {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/test1";
String user = "root";
String pwd = "123456";
Connection con = null;
Statement state = null;
String driver = "com.mysql.jdbc.com";
try {
// 加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 创建链接
con = DriverManager.getConnection(url, user, pwd);
// 定义SQL
String sql = "SELECT * from user";
// 创建statement对象
state = con.createStatement();
// 执行SQL
ResultSet res = state.executeQuery(sql);
// 处理结果集
while (res.next()) {
// 好像不能通过该u_name实现查询名字
System.out.println(res.getInt("u_id") + "\t");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
state.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}