JDBC可以实现SQL语句在数据库中的执行,也就是说,数据库的所有操作,包括对数据库,对表格,对记录都可以进行相应的操作,但是其实原则上,JDBC只应该对记录进行操作,不能对表格乃至数据库进行更改操作。下面就为大家介绍一些JDBC常用操作。
1.获取数据库连接
一般为了方便建立数据库链接通常会创建一个类,里面封装好实现数据库链接的函数,方便调用实现数据库连接。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBUtil {
private static final String URL="jdbc:mysql://127.0.0.1:3306/imooc?useUnicode=true&characterEncoding=utf-8";
private static final String USER="root";
private static final String PASSWORD="tiger";
private static Connection conn=null;
static {
try {
//1.加载驱动程序
Class.forName("com.mysql.jdbc.Driver");
//2.获得数据库的连接
conn=DriverManager.getConnection(URL, USER, PASSWORD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
//将获得的数据库与java的链接返回(返回的类型为Connection)
public static Connection getConnection(){
return conn;
}
}
2、增加表中记录
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class javaTest {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
String URL="jdbc:mysql://127.0.0.1:3306/imooc?useUnicode=true&characterEncoding=utf-8";
String USER="root";
String PASSWORD="tiger";
//1.加载驱动程序
Class.forName("com.mysql.jdbc.Driver");
//2.获得数据库链接
Connection conn=DriverManager.getConnection(URL, USER, PASSWORD);
//3.通过数据库的连接操作数据库,实现增删改查(使用Statement类)
String s=""+"insert into user(id,user_name,user_password) values("+"2,?,123)";
PreparedStatement pst=conn.prepareStatement(s);
pst.setString(1, "xiaoshuai1");
//pst.setString(2, "123");
pst.execute();
//关闭资源
pst.close();
conn.close();
}
}
3、删除数据库表格记录
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class javaTest {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
String URL="jdbc:mysql://127.0.0.1:3306/imooc?useUnicode=true&characterEncoding=utf-8";
String USER="root";
String PASSWORD="tiger";
//1.加载驱动程序
Class.forName("com.mysql.jdbc.Driver");
//2.获得数据库链接
Connection conn=DriverManager.getConnection(URL, USER, PASSWORD);
//3.通过数据库的连接操作数据库,实现增删改查(使用Statement类)
String s="delete from user where id=2 and user_name=?";
PreparedStatement pst=conn.prepareStatement(s);
pst.setString(1, "xiaoshuai1");
//pst.setString(2, "123");
pst.execute();
//关闭资源
pst.close();
conn.close();
}
}
4、更新数据库中表格记录信息
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class javaTest {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
String URL="jdbc:mysql://127.0.0.1:3306/imooc?useUnicode=true&characterEncoding=utf-8";
String USER="root";
String PASSWORD="tiger";
//1.加载驱动程序
Class.forName("com.mysql.jdbc.Driver");
//2.获得数据库链接
Connection conn=DriverManager.getConnection(URL, USER, PASSWORD);
//3.通过数据库的连接操作数据库,实现增删改查(使用Statement类)
String s="update user set user_name=? where id=1 ";
PreparedStatement pst=conn.prepareStatement(s);
pst.setString(1, "xiaoshuaige");
//pst.setString(2, "123");
pst.execute();
//关闭资源
pst.close();
conn.close();
}
}
5、调用存储过程
(1)调用无参存储过程
1)存储过程代码
CREATE PROCEDURE SP_select_nofilter3()
BEGIN
SELECT * FROM file;
END;
2)调用代码
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class javaTest {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
String URL="jdbc:mysql://127.0.0.1:3306/imooc?useUnicode=true&characterEncoding=utf-8";
String USER="root";
String PASSWORD="tiger";
//1.加载驱动程序
Class.forName("com.mysql.jdbc.Driver");
//2.获得数据库链接
Connection conn=DriverManager.getConnection(URL, USER, PASSWORD);
//3.通过数据库的连接操作数据库,实现增删改查(使用Statement类)
String s="call SP_select_nofilter3() ";
CallableStatement cst=conn.prepareCall(s);
ResultSet rs=cst.executeQuery();
while(rs.next()){
System.out.println(rs.getString("user_name"));
}
//关闭资源
cst.close();
conn.close();
}
}
以上就是JDBC常见操作,主要还是关于数据库中表格的数据的记录相关的,所以我们只要弄清楚数据库中的数据的记录情况,对于我们使用JDBC有很大的帮助。本站的JDBC教程中也会给大家很多使用JDBC的技巧,想要掌握的小伙伴赶快行动吧!
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习