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