当前位置:网站首页>数据库JDBC DAO层方法
数据库JDBC DAO层方法
2022-08-04 05:33:00 【Jorge666】
public class BaseDao {
public static final String URL = "jdbc:mysql://localhost:3306/school?useunicode=true&characterEncoding=utf-8";
public static final String USER = "root";
public static final String PASSWORD = "1234";
public static final String Driver = "com.mysql.jdbc.Driver";
public static Connection getConnection() {
Connection connection = null;
try {
// 1.加载驱动
Class.forName(Driver);
// 2建立连接
connection = DriverManager.getConnection(URL, USER, PASSWORD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
public static int commonExecuteUpdate(String sql, Object[] params) {
int row = 0;
PreparedStatement preparedStatement = null;
Connection connection = null;
try {
connection = getConnection();
preparedStatement = connection.prepareStatement(sql);
for (int i = 0; i < params.length; i++) {
preparedStatement.setString(i + 1, params[i].toString());
}
row = preparedStatement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
closeResources(preparedStatement, connection, null);
}
return row;
}
public static ResultSet commonExecuteQuery(String sql, Object[] params) {
ResultSet resultSet = null;
PreparedStatement preparedStatement = null;
try {
preparedStatement = getConnection().prepareStatement(sql);
for (int i = 0; i < params.length; i++) {
preparedStatement.setString(i + 1, params[i].toString());
}
resultSet = preparedStatement.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return resultSet;
}
public static void closeResources(PreparedStatement preparedStatement, Connection connection, ResultSet resultSet) {
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (preparedStatement != null) {
try {
preparedStatement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
以连接到本地school数据库为例
边栏推荐
猜你喜欢
随机推荐
杰哥带大家做一次meterpreter内网渗透模拟
20170729
PS像素画学习-1
Tensorflow/Pytorch安装(Anaconda环境下,无版本冲突,亲测有效)
你要悄悄学网络安全,然后惊艳所有人
strlen 转义字符
MySQL之SQL结构化查询语言
用chrome dev tools 强制js注入
Shell脚本执行的三种方式
【HIT-SC-MEMO7】哈工大2022软件构造 复习笔记7
基于Webrtc和Janus的多人视频会议系统开发5 - 发布媒体流到Janus服务器
IEEE802.X protocol suite
Miscellaneous [development] [VS Code] remote - SSD retry failed
淘宝分布式文件系统存储引擎(一)
C语言结构体(必须掌握版)
对渗透测试工程师来说,学历重要嘛?
JUC锁框架——初识AQS
POI及EasyExcel
【HIT-SC-MEMO2】哈工大2022软件构造 复习笔记2
位段-C语言