思考:
java属于什么语言?---OOP面向对象的语言。
数据库属于什么语言? --SQL语言: 结构化查询语言。
上面会因为语言不同,带来沟通问题?
如果是你如何解决java和数据库之间的沟通?--找个翻译官。
目录
1. java连接mysql数据库
(1)创建一个java工程
(2)在工程下创建一个目录lib---》放jar的
(3)把该jar进行解压---》一定要在程序中完成
(4)写程序
```java
package com.ykq.demo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class Test01 {
public static void main(String[] args)throws Exception {
//1.加载驱动---理解为引用翻译
Class.forName("com.mysql.cj.jdbc.Driver");
//2.获取连接对象
// String url, 数据库的路径 mysql5.7以后
// 协议:数据的种类://ip:端口号/数据库名?serverTimezone=Asia/Shanghai
// jdbc:mysql://
// String user,账号
// String password 密码
String url="jdbc:mysql://localhost:3306/mydb?serverTimezone=Asia/Shanghai";
String user="root";
String password="root";
Connection connection= DriverManager.getConnection(url,user,password);
//3.获取执行sql语句的对象。
Statement statement=connection.createStatement();
//4.执行sql语句。增删改
String sql="delete from t_student where id=1";
statement.executeUpdate(sql);
}
}
```java
public class TestJdbc {
//测试添加功能---往数据库中添加
@Test
public void testInsert() throws Exception{
Class.forName("com.mysql.cj.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/mydb?serverTimezone=Asia/Shanghai";
String user="root";
String password="root"; //这里的密码要和你自己的对照
Connection connection = DriverManager.getConnection(url,user,password);
Statement statement = connection.createStatement();
String sql="insert into t_student values(null,'玉慧梦',16,'北京')";
statement.executeUpdate(sql);
}
@Test
public void testUpdate() throws Exception{
Class.forName("com.mysql.cj.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/mydb?serverTimezone=Asia/Shanghai";
String user="root";
String password="root"; //这里的密码要和你自己的对照
Connection connection = DriverManager.getConnection(url,user,password);
Statement statement = connection.createStatement();
String sql="update t_student set name='闫克起',age=18,address='香港' where id=2";
statement.executeUpdate(sql);
}
}
2.查询数据库表中记录
@Test //理解为main函数。可以独立运行。
public void testQuery() throws Exception { //抛出异
常只是为了操作方便。真正在开发时应该try--catch
Class.forName("com.mysql.cj.jdbc.Driver");
Connection conn = DriverManager.getConnection
("jdbc:mysql://localhost:3306/mydb?
serverTimezone=Asia/Shanghai", "root", "root");
Statement statement = conn.createStatement();
String sql = "select id,name,age,address from
t_student";
//执行查询sql语句 并把数据库表中记录返回到ResultSet对
象中进行保存。
ResultSet rs = statement.executeQuery(sql);
//取出ResultSet中表的记录。rs.next() 判断指针是否可
以移动。如果可以移动则返回true,否则返回false
while (rs.next()) {
int id = rs.getInt("id"); //指针移动并获取指
定列的值。
String name = rs.getString("name");
String address