当前位置: 首页 >数据库 > JDBC工具类(DButil)

JDBC工具类(DButil)

package lesson11;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class DBUtil {	private Connection conn = null;	private Statement st = null;	private PreparedStatement ps = null;	private ResultSet rs = null;	private String url = "jdbc:mysql://localhost:3306/filmcenter_db";	private String useame = "root";	private String psw = "root";	
//1.加载驱动static{	try {		Class.forName("com.mysql.jdbc.Driver");	} catch (ClassNotFoundException e) {		System.out.println("加载驱动失败!!");		e.printStackTrace();	}}//2.获取连接public Connection getConn(){	try {		conn = DriverManager.getConnection(url,useame,psw);	} catch (SQLException e) {		System.out.println("获取连接失败!!");		e.printStackTrace();	}	retu conn;}//3.提供更新方法public int update(String sql, Object[] objs){	conn = getConn();	try {		ps = conn.prepareStatement(sql);		for(int i = 0 ; i < objs.length ; i ++){			ps.setObject(i + 1, objs[i]);		}		retu ps.executeUpdate();	} catch (SQLException e) {		System.out.println("更新失败!!");		e.printStackTrace();		retu -1;	}finally{		release();	}}//4.提供查询方法public List<Map<String,Object>> query(String sql, Object[] objs){	List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();	try {		ps = getConn().prepareStatement(sql);		for(int i = 0 ; i < objs.length ; i ++){			ps.setObject(i + 1, objs[i]);		}		rs = ps.executeQuery();		ResultSetMetaData rsmd = rs.getMetaData();		while(rs.next()){			Map<String,Object> map = new HashMap<String,Object>();			for(int i = 0 ; i < rsmd.getColumnCount() ; i ++){				String key = rsmd.getColumnName(i + 1);				Object value = rs.getObject(key);				map.put(key, value);			}			list.add(map);		}		retu list;	} catch (SQLException e) {		System.out.println("查询操作失败!");		e.printStackTrace();		retu list;	}finally{		release();	}}//5.批量更新public void batch(String[] sqls){	try {		conn = getConn();		conn.setAutoCommit(false);		st = conn.createStatement();		for(int i = 0; i < sqls.length ; i ++){			st.addBatch(sqls[i]);		}		st.executeBatch();	} catch (SQLException e) {		e.printStackTrace();		try {			conn.rollback();		} catch (SQLException e1) {			e1.printStackTrace();		}	}finally{		try {			conn.commit();		} catch (SQLException e) {			e.printStackTrace();		}		release();	}}//释放资源public void release(){	if(rs != null){		try {			rs.close();		} catch (SQLException e) {			System.out.println("关闭结果集对象出现异常!");			e.printStackTrace();		}	}	if(ps != null){		try {			ps.close();		} catch (SQLException e) {			System.out.println("关闭预处理语句对象出现异常!");			e.printStackTrace();		}	}	if(st != null){		try {			st.close();		} catch (SQLException e) {			System.out.println("关闭语句对象出现异常!");			e.printStackTrace();		}	}	if(conn != null){		try {			conn.close();		} catch (SQLException e) {			System.out.println("关闭连接对象出现异常!");			e.printStackTrace();		}	}}

}

作者:大前端之旅
来源链接: https://jianguo.blog.csdn.net/article/details/106889464

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/database/10261.html

分享给朋友:

“JDBC工具类(DButil)” 的相关文章