javaSE JDBC, 连接数据库,执行sql语句
MySql驱动(jar包)下载: 密码:mwoh
Demo.java:
package cn.xxx.demo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
/*
JDBC操作数据库的步骤
1.注册驱动
告知JVM使用的是哪一个数据库的驱动
2.获得连接
使用JDBC中的类,完成对MySQL数据库的连接
3.获得语句执行平台
通过连接对象获取对SQL语句的执行者对象
4.执行sql语句
使用执行者对象,向数据库执行SQL语句
获取到数据库的执行后的结果
5.释放资源
*/
public class Demo {
public static void main(String[] args)throws ClassNotFoundException,SQLException{
//1. 注册驱动
//DriverManager.registerDriver(new Driver()); // Driver中的静态代码块中进行了类的实例化,会形成2次注册,所以用反射。
//利用反射技术,将驱动类加入到内存。(加载到内存,执行Driver实现类中的静态代码块,从而实现驱动实例化)
Class.forName("com.mysql.jdbc.Driver"); // 利用反射,不会形成2次注册
//2. 获得数据库连接
String url = "jdbc:mysql://localhost:3306/数据库名"; // 可以指定编码集 ?useUnicode=true&characterEncoding=utf8
String username="root";
String password="123";
Connection con = DriverManager.getConnection(url, username, password);//返回值是Connection接口的实现类,在mysql驱动程序(引用的外部jar包)中
//3. 获得SQL语句执行平台,获取到SQL语句的执行者对象
Statement stat = con.createStatement(); // 负责将SQL语句发送给数据库。 也可以使用prepareStatement(),可以防sql注入也可以预编译sql语句提高效率
//4. 执行sql语句
//执行数据库中的SQL语句, insert delete update ,不能执行select语句。
int row = stat.executeUpdate("INSERT INTO sort(sname,sprice,sdesc) VALUES(汽车用品,50000,疯狂涨价)"); // 返回受影响行数
//5. 释放资源
stat.close(); // 释放次序不能乱。
con.close();
}
}
