1、IDEA导入jar包
2、JDBC连接MySQL程序编写
jdbc连接mysql,程序编写6个步骤:
1.注册驱动(告诉Java程序,即将连接的是哪个品牌的数据库)
2.获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,使用完后记得关闭通道)。
3.获取数据库操作对象(专门执行sql语句的对象)
4.执行SQL语句(DQL,DML…)
5.处理查询结果集 (只有当第四步执行的是select语句的时候,才有本步)
6.释放资源(使用完资源后一定要关闭资源,Java和数据库之间属于进程间的通信,开启之后一定要记得关闭)
package com.shujia.za.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCTest2 {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
//1.注册驱动 方式一:使用jdk自带的一个类DriverManager中静态方法
// DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//1.注册驱动 方式二:通过反射可以获取一个字节码文件对象中的功能(常用)
Class.forName("com.mysql.jdbc.Driver");
//2.获取连接
String url = "jdbc:mysql://192.168.118.110:3306/bigdata?useUnicode=true&characterEncoding=utf8&useSSL=false";
String user = "root";
String password = "123456";
conn = DriverManager.getConnection(url, user, password);
System.out.println("数据库连接的对象是:"+conn);
//3.获取数据库操作对象
stmt = conn.createStatement();
//4.执行SQL语句
String sql = "delete from tb1 where id = 1004 ";
int i = stmt.executeUpdate(sql);//返回的数据库中记录受影响的条数
System.out.println(i);
} catch (Exception e) {
e.printStackTrace();
}
//6.释放资源
finally {
if (stmt!=null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
3、将连接数据库的所有信息配置到配置文件中
package com.shujia.za.jdbc;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class JDBCTest3 {
public static void main(String[] args) {
Properties prop = null;
FileReader fr = null;
Connection conn = null;
Statement stmt = null;
try {
//利用java中的Properties类读取配置文件
prop = new Properties();
fr = new FileReader("E:\\IDEAprojects\\jdbc-mysql\\datas\\jdbc.properties");
prop.load(fr);
String driver = prop.getProperty("driver");
String url = prop.getProperty("url");
String username = prop.getProperty("username");
String password = prop.getProperty("password");
//1.注册驱动
Class.forName(driver);
//2.获取连接
conn = DriverManager.getConnection(url, username, password);
//3.获取操作数据库对象
stmt = conn.createStatement();
//4.执行SQL语句
String sql = "insert into tb1 values(1004,'小红花',6,'1234567')";
int i = stmt.executeUpdate(sql);
System.out.println(i);
} catch (Exception e) {
e.printStackTrace();
}
//6.释放资源
finally {
if (fr != null) {
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
4、处理查询结果集
package com.shujia.za.jdbc;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.sql.*;
import java.util.Properties;
public class JDBCTest4 {
public static void main(String[] args) {
Properties prop = null;
FileReader fr = null;
Connection conn = null;
Statement stmt = null;
try {
//利用Properties读取配置文件信息
prop = new Properties();
fr = new FileReader("E:\\IDEAprojects\\jdbc-mysql\\datas\\jdbc.properties");
prop.load(fr);
String driver = prop.getProperty("driver");
String url = prop.getProperty("url");
String username = prop.getProperty("username");
String password = prop.getProperty("password");
//1.注册驱动
Class.forName(driver);
//2.获取连接
conn = DriverManager.getConnection(url, username, password);
//3.获取执行sql语句对象
stmt = conn.createStatement();
//4.执行sql语句
String sql = "select id,name,age,email from tb1";
//ResultSet executeQuery(String sql) 是专门执行DQL语句的方法
ResultSet resultSet = stmt.executeQuery(sql);
boolean b = resultSet.next();//当b为true时说明这一行是由数据的
// if (b){
// String name = resultSet.getString("name");
// System.out.println(name);
// }
//使用while循环
while(resultSet.next()){
//光标指向的是行数据
//取数据的时候,是一列一列取的,获取光标指向这一行的某列数据
//getString()方法的特点是,不管数据库中字段数据是什么类型的,取出来都是String类型
String id = resultSet.getString("id");
String name = resultSet.getString("name");
String age = resultSet.getString("age");
String email = resultSet.getString("email");
System.out.println(id+","+name+","+age+","+email);
}
} catch (Exception e) {
e.printStackTrace();
}
//6.释放资源
finally {
if (fr!=null){
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (stmt!=null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}