JFrame
java界面编程(1) —— Swing基础
JButton/JLabel/JTextField
java界面编程(2) —— 按钮,文本输入框和文本区域
Layout
java界面编程(3) —— 控制布局
Listener
java界面编程(4) —— Swing事件模型
java界面编程(5) —— 按钮和按钮组
icon
java界面编程(6) —— 图标
Border
java界面编程(7) —— 边框和编辑器
JComboBox
java界面编程(8) —— 组合框(下拉列表)
JList
java界面编程(9) —— 列表框
Java集合类
Java集合类详解
Java数据库链接
数据库操作类
![包结构](https://img-blog.csdn.net/20170510095859605?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGluZ2xpYW4wNTIy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
package db;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
public class DBMan {
private String drivers;
private String url;
private String user;
private String passwd;
private Connection conn;
private PreparedStatement stmt;
private ResultSet rs;
private static DBMan instance;
private DBMan() throws IOException {
InputStream in = DBMan.class.getResourceAsStream("./数据库链接信息.properties");
Properties pro = new Properties();
pro.load(in);
drivers = pro.getProperty("drivers");
url = pro.getProperty("url");
user = pro.getProperty("user");
passwd = pro.getProperty("passwd");
}
public static DBMan getInstance() throws IOException {
if (instance == null) {
instance = new DBMan();
}
return instance;
}
public void display(Map<String, LinkedList<Object> > map, PrintStream out, String... str) {
if (map == null) {
return;
}
LinkedList []q = new LinkedList[map.size()];
int col = str.length;
String temp = new String();
if (col == 0) {
Set<String> set = map.keySet();
for (String s : set) {
q[col++] = map.get(s);
temp += s + "\t";
}
} else {
for (int i = 0; i < col; i++) {
q[i] = map.get(str[i]);
temp += str[i] + "\t";
}
}
int row = q[0].size();
out.println(temp);
for (int i = 0; i < row; i++) {
temp = new String();
for (int j = 0; j < col; j++) {
temp += q[j].get(i)+ "\t";
}
out.println(temp);
}
}
public synchronized Map<String, LinkedList<Object> > query(String sql, Object... obj) {
try {
open();
Map<String, LinkedList<Object> > map = new HashMap();
stmt = conn.prepareStatement(sql);
for (int i = 0; i < obj.length; i++) {
stmt.setObject(i + 1, obj[i]);
}
rs = stmt.executeQuery();
LinkedList<String> list = new LinkedList();
int col = rs.getMetaData().getColumnCount();
for (int i = 0; i < col; i++) {
LinkedList<Object> tList = new LinkedList();
list.add(rs.getMetaData().getColumnName(i + 1));
map.put(list.getLast(), tList);
}
while(rs.next()){
for (int i = 0; i < col; i++) {
LinkedList<Object> tList = map.get(list.get(i));
tList.add(rs.getObject(i + 1));
}
}
close();
return map;
} catch (SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
return null;
}
}
public synchronized boolean update(String sql , Object... obj) {
try {
open();
stmt = conn.prepareStatement(sql);
for (int i = 0; i < obj.length; i++) {
stmt.setObject(i + 1, obj[i]);
}
stmt.executeUpdate();
close();
return true;
} catch (SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
return false;
}
}
private synchronized void open() {
try {
Class.forName(drivers);
} catch(ClassNotFoundException e) {
System.err.println(e.getMessage());
}
try {
conn = DriverManager.getConnection(url, user,passwd);
conn.setAutoCommit(true);
} catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
}
}
private synchronized void close() {
try {
stmt.close();
conn.close();
} catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
}
}
}
简单实例
删除
String sql3 = "delete from dlnuweb where sno = ?";
DBMan db = DBMan.getInstance();
db.update(sql3, sno);
显示所有学生
Map<String, LinkedList<Object>> map;
map = DataBaseOperate.query("SELECT * FROM S");
DataBaseOperate.display(map);