java编程基础

JFrame

java界面编程(1) —— Swing基础

JButton/JLabel/JTextField

java界面编程(2) —— 按钮,文本输入框和文本区域

Layout

java界面编程(3) —— 控制布局

Listener

java界面编程(4) —— Swing事件模型

button

java界面编程(5) —— 按钮和按钮组

icon

java界面编程(6) —— 图标

Border

java界面编程(7) —— 边框和编辑器

JComboBox

java界面编程(8) —— 组合框(下拉列表)

JList

java界面编程(9) —— 列表框


以上内容转载自jesson20121020

Java集合类

Java集合类详解

Java数据库链接

数据库操作类

包结构

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);
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值