文章目录
数据库基本操作我们已经知道,java代码也会写,让我们要如何把他们连接在一起呢?如何通过java代码去访问数据库读写数据呢?
JDBC是什么?
JDBC是一个简称,全称就是Java DataBase Connectivity (java语言连接数据库),即JDBC就是通过java连接数据库的技术,是sun公司设定的一套数据库标准,只是一种规范,不做具体实现。
JDBC的使用步骤
- 导入jar包(使用jdbc提供的丰富的工具类)
- 获取和数据库的连接(用户名、密码及端口号)
- 通过java程序执行SQL语句
- 如果数据库查到结果,返回给java程序来处理
导入jar包
1、创建project
File–>New–>Project–>java–>next–>next–>输入工程名及选择存储位置–>finish
2、导入jar包
直接把mysql-connector-java-5.1.32.jar 复制到根项目下。结束后项目路径如下所示:
3、编译jar包
选中jar包右键找到Add as Library…点击一下,弹出弹框直接下一步就行。编译后右侧能够展开说明已经成功了。
获取与数据库的连接并使用
在工程的src下新建一个类,命名为cn.tedu.jdbc.Test01。
注意,此时cn.tedu.jdbc是我们的包名,Test01是类名,我们一步到位一起创建。
- 注册驱动
- 获取数据库的连接
- 获取传输器
- 执行SQL
- 处理数据库返回的结果
- 关闭资源
package cn.tedu.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Test01 {
public static void main(String[] args) throws Exception {
//1、注册驱动
/*oracle.jdbc.OracleDriver*/
Class.forName("com.mysql.jdbc.Driver");
//2、获取数据库的连接
/*jdbc连接Mysql数据库的协议//本机:端口号/数据库名*/
String url = "jdbc:mysql://localhost:3306/cs";
Connection conn = DriverManager.getConnection(url, "root", "root");
//3、获取传输器
Statement statement = conn.createStatement();
//4、执行sql
/*excuteQuery执行查询的Sql,excuteUpdate执行增删改sql*/
String sql = "select * from user";
ResultSet resultSet = statement.executeQuery(sql);
//5、处理数据库查询到的结果
while (resultSet.next()){
String result = resultSet.getString(2);//获取第二列的值
System.out.println(result);
}
//释放资源
resultSet.close();//释放结果集
statement.close();//释放传输器
conn.close();//释放连接器
}
}
常见错误
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
错误原因:
1、jar包没有导入,或者导入后没有编译;
2、Class.forName(“com.mysql.jdbc.Driver”)字符串拼写错误。
Unknown database 数据库名
错误原因:
1、数据库名拼写错误;
2、数据库不存在。
Access denied for user ‘root123’@‘localhost’ (using password: YES)
错误原因:
数据库的用户名或密码错误。
Table ‘py-school-db.mydb’ doesn’t exist
错误原因:
sql语句中的表不存在,或表名写错了。