JDBC:
java database connectivity,java数据库连接,提供了连接数据库的api
java.sql包下
1、导入所需要的数据库jar包----数据库厂商提供
1-1、直接把jar包放到项目中
新建一个Forder,直接把jar包复制到forder下,后buildpath,导入jar包
1-2、外链
2、加载驱动
Class.forName(驱动的路径);
驱动路径,点开导入的jar包,找到com.mysql.cj.jdbc包下的Dirver.class,点开,右键Copy qualifiled Name,复制到的就是驱动的路径
3、使用驱动管理对象获取数据库连接对象 url,user,password
URL:jdbc:mysql://ip:端口号/数据库名?时区(serverTimezone=Asia/Shanghai)
User:root
password:root
索引:加快查询的效率,增加表的大小。查询较多的条件列适合添加索引。
4、定义sql语句
5、通过链接对象创建执行的sql语句工具
6、操作sql语句
7、释放资源
代码一 删除一条数据
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCDemo1 {
public static void main(String[] args) {
try {
//1.加载数据驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2.通过url,user,password链接数据库,获取到链接对象
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/school?serverTimezone=Asia/Shanghai", "root","root");
//3.定义执行的sql语句
String sql="delete from teacher where tno ='888'";
String sq1="select * from student";
//4.通过链接对象创建执行的sql语句的工具
Statement st=conn.createStatement();
//5.操作sql语句
int i=st.executeUpdate(sql);
System.out.println(i);
//释放资源
rs.close();
st.close();
conn.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
代码二 遍历学生表
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcDemo2 {
public static void main(String[] args) {
try {
//1、通过url、user、password连接到数据库,获取链接对象
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/school?serverTimezone=Asia/Shanghai", "root", "root");
//2、执行的sql语句
String sql="select * from student";
//4、通过连接对象创建执行的sql语句工具
Statement st=conn.createStatement();
//5、操作sql语句
ResultSet rs=st.executeQuery(sql);
while(rs.next()){
String sno=rs.getString(1);
String name=rs.getString(2);
String sex=rs.getString(3);
String birthday=rs.getString(4);
String clas=rs.getString(5);
System.out.println("学号:"+sno+"\t姓名:"+name+"\t性别"+sex+"\t生日"+birthday+"\t班级"+clas);
}
//释放资源
rs.close();
st.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}