学习Java的日常
日期:2019-8-19
day7: 学习目的:java连接数据库基本操作
1.JDBC基本概念
2.快速入门
3.对JDBC中各个接口和类的详解
1.概念:Java Database Connectivity java数据库连接
本质:其实是官方(SUN公司)提供的一套操作所有关系型数据库的规则(接口),各个数据库厂商会去实现这套接口,产生数据库驱动(Jar包),我们可以使用这套接口(JDBC)编程,真正执行的代码驱动包里的实现类。
2.快速入门
1.导入jar包 mysql-connector-java-5.1.37-bin.jar
1.复制mysql-connector-java-5.1.37-bin.jar到项目的libs目录下
2.右键–Add as Library
2.注册驱动
DriverManager对象
功能
注册驱动:告诉程序使用哪一个数据库驱动
源码调用了静态代码块,也就是说驱动注册随着类的加载而加载
获取数据库连接
url:指定连接的路径
jdbc:mysql://localhost:3306/db4
语法 jdbc:mysql://ip地址(域名):3306/数据库名称
如果连接本地的sql服务器,可省略 jdbc:mysql:///db4
user:用户名
password:密码
Connection对象
数据库连接对象
功能:
1.获取执行sql的对象(Statement)
2.管理事务
3.获取Connection对象
4.定义sql
5.获取执行sql语句的对象 Statement
Statement对象 执行sql的对象
功能
1.执行sql
boolean execute():可以执行所有sql语句
int executeUpdate():执行DML(insert,update,delete)语句和DDL(create,alter,drop)语句
返回值是影响的行数
int executeQuery():DQL(select)语句
6.执行sql,接受返回结果
7.处理结果
8.释放资源
3.练习
1.给student表插入一条新数据
2.删除
import com.mysql.jdbc.log.NullLogger;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Jdbc {
public static void main(String[] args){
//1.导入jar包
//2.注册驱动
Connection conn = null;
Statement stat=null;
int count = 0;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/java", "root", "123456");
//4.定义sql
String sql = "update student set age=20 where id=1";
//5.获取执行sql语句的对象 Statement
stat = conn.createStatement();
//6.执行sql,接受返回结果
System.out.println(count);
count = stat.executeUpdate(sql);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//3.获取数据库连接对象Connection
catch (SQLException e) {
e.printStackTrace();
}
//7.处理结果
//8.释放资源
finally{
if(stat!=null)
{
try{
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null)
{
try{
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}