三、jdbc工具类及sql插入

jdbc工具类及sql插入

一、jdbc工具类

                 由于操作中的加载驱动与建立连接与释放资源属于固定的代码块,所以为了效率,常采用工具类对其进行封装调用。

步骤:

                 1、创建工具类jdbcutils

                 2、将加载驱动与建立连接写入方法getConnection();

                 4、分别写出连接、语句执行者、结果集 三个对象的释放方法

                 5、在释放资源方法中调用连接、语句执行者、结果集 三个对象的释放方法

                 6、使用工具类

二、代码展示

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


//工具类
public class jdbcutils {


// 获取连接
public static Connection getConnection() throws ClassNotFoundException, SQLException {
// 注册驱动
Class.forName("com.mysql.jdbc.Driver");
// 建立连接 ctrl+shift+o导包
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/students", "root", "");
return conn;
}


/**
* 释放资源
* @param conn  连接
* @param st    语句执行者
* @param rs    结果集
*/
public static void closeResource(Connection conn, Statement st, ResultSet rs) {


      closeResultSet(rs);
      closeStatement(st);
      closeConn(conn);
}


/**
* 释放连接

* @param conn  连接
*/
public static void closeConn(Connection conn) {
if (conn != null) {
try {
conn.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
conn = null; // 对象等于空,垃圾回收机制就会处理掉
}
}


/**
* 释放语句执行者

* @param st   语句执行者
*/
public static void closeStatement(Statement st) {
if (st != null) {
try {
st.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
st = null; // 对象等于空,垃圾回收机制就会处理掉


}
}
/**
* 释放结果集

* @param rs  结果集
*/
public static void closeResultSet(ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
rs = null; // 对象等于空,垃圾回收机制就会处理掉


}
}

}

三、工具类的使用及sql插入

 @Test
public void f3() {
Connection conn = null;
PreparedStatement st = null;
ResultSet rs = null;
        //获取连接
try {
conn = jdbcutils.getConnection();
//编写sql
String sql="insert into sinfor values (?,?)";
//创建语句执行者
st=conn.prepareStatement(sql);
//设置参数
st.setString(1,"5");
st.setString(2,"wulepeng");
//执行sql   i为影响的行数
   int i=st.executeUpdate();
  //处理结果
   if(i==1) {
    System.out.println("success");
   }
   else {
    System.out.println("fail");
   }
} catch (ClassNotFoundException | SQLException e) {

e.printStackTrace();
}finally {
//释放资源
jdbcutils.closeResource(conn, st, rs);
}
}
四、文档注释的作用

当鼠标放在对应方法上时


五、结果展示

 

备注:由于个人原因,本博客暂停更新。如有问题可联系本人,本人提供技术指导、学习方向、学习路线。本人微信wlp1156107728(添加注明来意)   QQ1156107728(添加注明来意)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值