JDBC万能适配代码


package com.dao;

import java.sql.Statement;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import javax.sound.midi.Soundbank;

import com.pojo.Userinfo;

import java.awt.List;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;

public class DBUtils {

	private static String driver;
	private static String username;
	private static String password;
	private static String url;
	private static PreparedStatement PS;
	private static Connection connection;
	private static ResultSet resultSet;
	
	private static void init(){
        driver = "com.mysql.cj.jdbc.Driver";
        username = "root";
        password = "1006";
        url = "jdbc:mysql://localhost:3306/myblog?serverTimezone=UTC&characterEncoding=utf-8";
    }
    //创建链接
    private static void getConn() throws SQLException, ClassNotFoundException {
        //注册驱动
        Class.forName(driver);
        System.out.println("驱动注册成功");
        //创建链接
        connection = DriverManager.getConnection(url,username,password);
        System.out.println("数据库链接成功");
    }

    //创建statement
    private static void createStat(final String sql) throws SQLException {
        PS = connection.prepareStatement(sql);
        System.out.println("创建statement成功");
    }
    //关闭链接
    private static void close() throws SQLException {
        if(resultSet != null){
            resultSet.close();
        }
        if(PS != null){
        	PS.close();
        }
        if(connection != null){
            connection = null;
        }
    }
    
    // 增删查改
    public static int execute(final String sql) throws Exception{
    	init();
    	getConn();
    	createStat(sql);
    	int num = PS.executeUpdate();
    	close();
    	return num;
    }
    
    // 查询
    public static ArrayList executeQuery(final String sql) throws Exception {
    	init();
    	getConn();
    	createStat(sql);
    	resultSet = PS.executeQuery();
    	ArrayList list = resultToList(resultSet);
    	close();
		return list;
    }
    // 封装Result
    private static ArrayList resultToList(ResultSet resultSet) throws Exception {
		// 获取列数
		ResultSetMetaData mData = resultSet.getMetaData();
		int colum = mData.getColumnCount();
		ArrayList list = new ArrayList();
		Map rowData;  
	       while (resultSet.next()){  
	           rowData = new HashMap(colum);  
	           for (int i=1; i<=colum; i++){  
                   rowData.put(mData.getColumnName(i),resultSet.getObject(i));  
	           }  
			list.add(rowData);
		}
		return list;
	}
    
    
}


调用实例

public static Userinfo loginServer(String username, String password) {
		
		Userinfo userinfo = null;
		try {
			String sql = "SELECT * FROM userinfo WHERE username = '"+username+"' AND password = '"+password + "'";
			ArrayList<Map<String, Object>> list = DBUtils.executeQuery(sql);
			System.out.println("1");
			if(list != null) {
				System.out.println("2");
				Map<String, Object> map = list.get(0);
				userinfo = new Userinfo(String.valueOf(map.get("id")), String.valueOf(map.get("username")), String.valueOf(map.get("password")), String.valueOf(map.get("name")));
				}
			
			System.out.println(userinfo.toString());
		} catch (Exception e) {
			// TODO Auto-generated catch block
			System.out.println(e.getMessage());
		}
		return userinfo;
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值