感兴趣的小伙伴可以先看看我的这篇文章哦,打开看看,说不定能帮到你一些~~
编写一个 JDBC 的使用程序,对商品表 gds_goods 进行操作,要求
1.编写一个 JDBC 联接的单例模式,用于联接数据库
2.编写测试类,使用编好联接类,取出商品表中的全部数据,输出内容
实现代码:
package com.zhangyufan.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class TestDbConn {
public static void main(String[] args) throws Exception {
String sql = "select * from gds_goods";
ResultSet rs = DbConn.exeQuery(sql, null);
System.out.println("商品表中的内容:");
while (rs.next()) {
System.out.println(rs.getInt("gds_id") + "\t" + rs.getString("gds_no") + "\t" + rs.getString("gds_name")
+ "\t" + rs.getDouble("gds_price") + "\t" + rs.getString("gds_memo"));
}
rs.close();
DbConn.close();
}
}
class DbConn {
private static String driver = "com.mysql.jdbc.Driver";
private static String dbname = "zyf";
private static String userName = "root";
private static String passWord = "root";
private static String url = "jdbc:mysql://localhost:3306/" + dbname;
private static Connection conn = null;
static {
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
private DbConn() {
}
public static Connection getConn() {
if (conn == null) {
try {
conn = DriverManager.getConnection(url, userName, passWord);
} catch (SQLException e) {
e.printStackTrace();
}
}
return conn;
}
public static void close() throws Exception {
if (conn != null) {
try {
conn.close();
} catch (Exception e) {
throw e;
}
}
}
public static ResultSet exeQuery(String sql, Object[] params) {
try {
Connection conn = getConn();
PreparedStatement ps = conn.prepareStatement(sql);
if (params != null) {
for (int i = 0; i < params.length; i++) {
ps.setObject(i + 1, params[i]);
}
}
ResultSet rs = ps.executeQuery();
return rs;
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
public static int execUpdate(String sql, Object[] params) {
try {
Connection conn = getConn();
PreparedStatement ps = conn.prepareStatement(sql);
if (params != null) {
for (int i = 0; i < params.length; i++) {
ps.setObject(i + 1, params[i]);
}
}
return ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
return -1;
}
}
运行结果: