由于MySQL官网会经常更新,可能会出现Jar包下载不了的情况,下面是我分享的Jar包可供使用。
链接:https://pan.baidu.com/s/1q_TWaJqW28PF04hI7VLHtQ
提取码:vojy
Java数据库使用原理:
1.JDBC:Java DateBase Connectivity 可以为多种关系的数据库DBMS提供统一的访问方式,用java来操作数据库
2.JDBC API 主要功能:
三件事,具体是通过以下类/接口实现;
DriverManager: 管理jdbc驱动
Connection : 创建链接,和数据库连接起来
Statement(PreparedStatement) :增删改查
CallableStatement :调用数据库中的存储过程/存储函数(通过connection产生)
Result :返回的结果集(由上面的Statement产生)
Connection产生Statement对象:createStatement();
Connection产生PreparedStatement对象:prepareStatement();
Connection产生CallableStatement对象:prepareCall();
Statement操作数据库:
增删改:executeUpdate();
查询:executeQuery();
ResultSet:保存结果集 select * from xxx
next():光标下移,判断是否有下一条数据true/false
Previous():true/false与next功能相反
getXxx(字段名|位置):获取具体的字段值
PreparedStatement操作数据库:
Public interface PreparedStatement extends Statement
因此:
增删改:executeUpdate();
查询:executeQuery();
赋值操作:setXxx();
3.jdbc访问数据库的具体步骤:(固定模板)
- 导入驱动,加载具体的驱动类
- 与数据库建立连接
- 发送sql,执行sql
- 处理结果集(查询)
4.数据库驱动
数据库 驱动jar 具体驱动类
Oracle ojdbc-x.jar oracle.jdbc.OracleDriver
MySQL mysql-connector-java-x.jar com.mysql.jdbc.Driver/com.mysql.cj.jdbc.Driver
SqlServer sqljdbc-x.jar com.microsoft.sqlserver.jdbc.SQLServerDriver
数据库的连接字符串:
Oracle :jdbc:oracle:thin:@localhost:1521:ORCL
MySQL:8.0以下版本为:jdbc:mysql://localhost:3306/student
8.0以上的版本为"jdbc:mysql://localhost:3306/student?serverTimezone=CTT&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true"
其中:“student”为你要连接数据库名字
以下是连接数据库的代码示例:
URL是必备的连接地址--可以上网搜到
USERNAME是对应你自己数据库的用户名
PWD是对应数据库的密码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCDemo {
private static final String URL="jdbc:mysql://localhost:3306/student?serverTimezone=CTT&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true";
private static final String USERNAME="root";
private static final String PWD="111";
public static void update() {
Statement stmt=null;
Connection connection=null;
try {
//a.导入驱动,加载具体的驱动类
Class.forName("com.mysql.cj.jdbc.Driver");
//b.与数据库建立连接
connection = DriverManager.getConnection(URL,USERNAME,PWD);
stmt = connection.createStatement();
//c.增加一个表格成员操作
String sql="insert into test values(5,'ws',21,'s6')";
int count=stmt.executeUpdate(sql);
if(count>0) {
System.out.println("操作成功");
}
}
catch(ClassNotFoundException e) {
e.printStackTrace();
}
catch(SQLException e) {
e.printStackTrace();
}
catch(Exception e) {
e.printStackTrace();
}
finally{
try {
if(connection!=null) connection.close();
if(stmt!=null) stmt.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
update();
}
}
成功后,就会出现如下情况