JDBC(Java DataBase Connectivity):
JDBC有什么用?
能够帮助我们实现用Java语言操作数据库
JDBC的本质?
JDBC是JavaEE技术之一
JDBC就是SUN公司提供的一套规范,一套接口
JDBC的编程步骤?
1、导入jre包
2、注册驱动
3、获取数据库连接对象
4、获取执行sql语句的对象
5、执行sql语句
6、释放资源
package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
/**
* 1、导入jre包
*
* 2、注册驱动
*
* 3、获取数据库连接对象
*
* 4、获取执行sql语句的对象
*
* 5、执行sql语句
*
* 6、释放资源
*/
public class Demo01 {
public static void main(String[] args) throws Exception {
// 注册驱动
Class.forName("com.mysql.jdbc.Driver");
// 获取数据库连接对象
Connection conn = DriverManager.getConnection("jdbc:mysql://loaclhost:3306/test", "root", "123456");
// 获取执行sql语句的对象
Statement stat = conn.createStatement();
/* 执行sql语句
* int executeUpdate():增删改
* 返回值:实际影响的行数
*
* ResultSet executeQuery():查询
* 返回值:结果集对象
* ResultSet:
* boolean next():判断结果集里有没有数据
* int getInt(int i):根据第几个字段获取对应的字段的数据
* int getInt(String name):根据字段名获取字段的数据
* String getInt(int i):根据第几个字段获取对应的字段的数据
* String getInt(String name):根据字段名获取字段的数据
*
* boolean excute():增删改查,底层使用的
* 返回值:
* 增删改 返回false
* 查询 返回true
*
* */
//添加操作
int i = stat.executeUpdate("insert into users values('1','小明','19')");
//删除操作
int j = stat.executeUpdate("delete from user where id = 3");
//修改操作
int k = stat.executeUpdate("updata user set name = '李四' where id = 1");
//查询操作
//存储在结果集对象中
ResultSet rs = stat.executeQuery("select * from users");
while (rs.next()) {
/*
* 结果一样都为:1
* */
int id1 = rs.getInt(1);
System.out.println(id1);//1
int id2 = rs.getInt("id");
System.out.println(id2);//1
}
/*
* boolean execute():增删改查,底层使用的
* 返回值:
* 增删改 返回false
* 查询 返回true
* */
boolean a = stat.execute("select * from users"); //true
// 释放资源
rs.close();
stat.close();
conn.close();
}
}
预处理:
public static viod main(String[] args) throws Exception{
// sql语句
String sql="select * from user where id=?"
//注册驱动
Class.forName("com.mysql.jdbc.Driver");
//获取数据库连接
Connection conn = DriverManger.getConnection("jdbc:mysql://loaclhost:3306/test","root","123");
//sql预处理
PreparedStatement pst = conn.prepareAtatement(sql);
//添加参数
pst.setString(1,"12");
//执行sql
ResultSet rs = pst.executeQuery();
//遍历结果集
while(rs.next()){
int id = rs.getInt("id");
}
//关闭连接
conn.close();
rs.close();
}