java属于什么语言?—OOP面向对象的语言。
数据库属于什么语言? --SQL语言: 结构化查询语言。
所以中间需要找个“中介”.
步骤如下
- 创建一个java工程。
- 在工程下创建一个目录lib---->放jar的
- 把该jar进行解压—>一定要在程序中完成。
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);
}
}
总结:
- 加载驱动 Class.forName(“com.mysql.cj.jdbc.Driver”);
- 获取连接对象 Connection connection=DriverManager.getConnection(url,u,pass);
- 获取执行sql语句的对象. Statement statement=connection.createStatement();
- 执行sql语句: statement.executeUpdate(sql);
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);
}
}
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=rs.getString("address");
int age=rs.getInt("age");
System.out.println("id:"+id+";name:"+name+";age:"+age+";address:"+address);
}
}
@Test
public void testQueryByCondition() throws Exception{
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 * from t_student where id=3";
ResultSet rs = statement.executeQuery(sql);
while (rs.next()){
int id = rs.getInt("id"); //指针移动并获取指定列的值。
String name = rs.getString("name");
String address=rs.getString("address");
int age=rs.getInt("age");
System.out.println("id:"+id+";name:"+name+";age:"+age+";address:"+address);
}
}