一、快速上手
光说不练歪把子,直接上代码步骤
package jdbc_study01;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
/**
* jdbc快速上手
* @author 公众号号:放牛娃学编程
*
*/
public class jdbc01 {
public static void main(String[] args) throws Exception {
//1.导入驱动jar包
//2.注册启动
Class.forName("com.mysql.jdbc.Driver");
//3.获取数据库连接对象connection
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/xue?useSSL=false&serverTimezone=UTC", "root", "123456");
//4.定义sql语句
String sql = "Update student set Sage = 33";
//5.获取执行sql语句的对象statement
Statement stmt = con.createStatement();
//6.执行sql语句,接收返回的结果
int count = stmt.executeUpdate(sql);
//7.处理结果
System.out.println(count);
//8.释放资源
stmt.close();
con.close();
}
}
上面的八个步骤(导包如果不算那就七个)一定给我记好咯
二、代码封装
当我们每次进行增删改查的时候,是不是都要重复写很多代码,这个时候我们就可以封装我们需要重复写的代码了
package jdbc_study01;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* 将重复操作的代码封装成JdbcUtils类
* 增删改查方法只是简单的做了些封装,也可以不用写,直接调用也行。
* @author 公众号:放牛娃学编程
*
*/
public class JdbcUtils {
//定义常量
private static final String DRIVE = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/xue?useSSL=false&serverTimezone=UTC";
private static final String USER = "root";
private static final String PWD = "123456";
Connection con = null;
Statement stm = null;
ResultSet rst = null;
PreparedStatement pstm = null;
//获取Connection连接对象
public Connection getConnection()
{
//1.导入数据库jar包
//2.注册驱动,(这一步在MySQL15以后可以省略,但是还是建议写上)
try {
Class.forName(DRIVE);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//3.获取connection连接对象
try {
con = DriverManager.getConnection(URL, USER, PWD);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return con;
}
//获取statement语句对象(就是专门用来执行sql语句的对象)
public Statement getStatement(Connection con)
{
try {
stm = con.createStatement();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return stm;
}
//获取PreparedStatement语句对象(它能够解决SQL注入问题)
public PreparedStatement getPstatement(Connection con, String sql)
{
try {
pstm = con.prepareStatement(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
this.close(con, pstm);
}
return pstm;
}
//释放资源(关闭)
public void close(Connection con, PreparedStatement pstm)
{
if(con != null)
{
try
{
con.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
}
if(pstm != null)
{
try
{
pstm.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
}
}
public void close(Connection con, Statement stm)
{
if(con != null)
{
try
{
con.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
}
if(stm != null)
{
try
{
stm.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
}
}
public void close(Connection con,PreparedStatement pstm, ResultSet rst)
{
close(con, pstm);
if(rst != null)
{
try
{
rst.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
}
}
}
三、分享交流
最后有兴趣一起交流的,可以关注我的公众号:这里你能够学到很实用的技巧,不是常用的我不说,公众号回复提取码即可获取以下学习资料啦啦啦啦,喜欢就拿去吧!!
(链接时常会失效,若出现此类情况,可以加我微信:17722328325(加时请备注:学习资料))
-
Java web从入门到精通电子书
-
Python机器学习电子书
-
Python400集(北京尚学堂)
-
JavaScript项目案例、经典面试题
-
Java300集(入门、精通)
-
Java后端培训机构录集(同事培训内部提供)
-
java重要知识pdf文档。(真的是干货,高清有代码)