package com.javaniu; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; //本类专门用来连接数据库,可以作为固定的工具类使用(记下来即可) public class DBManager { // 定义一个静态的连接对象用来连接数据库 // private static Connection conn = null; // 定一个静态的语句对象,用来执行sql语句 // private static Statement stmt = null; // 定义一个静态的结果集对象用来存放执行sql语句后查询得到的结果 // private static ResultSet rs = null; /** * 连接数据库的方法 * * @return conn 返回一个连接对象 */ public static Connection mssql(String url, String user, String pass) { Connection conn = null; try { // 1、加载连接驱动 // "jdbc:odbc:bookdemo" Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // 2、连接到数据库(获得连接对象) // 通过连接管理器(DriverManager)类的一个方法来获得连接对象,里面的参数表示我们连接到数据源bookdemo conn = DriverManager.getConnection(url, user, pass); } catch (ClassNotFoundException e) { // 以堆栈的方式将错误信息打印出来 e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return conn; // 将连接对象返回 } /** * 连接数据库的方法 * * @return conn 返回一个连接对象 * @throws ClassNotFoundException * @throws SQLException */ public static Connection mysql(String url, String user, String pass) throws ClassNotFoundException, SQLException { Connection conn = null; // 1、加载连接驱动 // "jdbc:odbc:bookdemo" Class.forName("com.mysql.jdbc.Driver"); // 2、连接到数据库(获得连接对象) // 通过连接管理器(DriverManager)类的一个方法来获得连接对象,里面的参数表示我们连接到数据源bookdemo conn = DriverManager.getConnection(url, user, pass); return conn; // 将连接对象返回 } /** * 动漫网的mysql数据库连接 * * @throws SQLException * @throws ClassNotFoundException */ public static Connection mysql(String host, String database, String user, String pass) throws ClassNotFoundException, SQLException { String url = "jdbc:mysql://" + host + "/" + database + "?useUnicode=true&characterEncoding=utf-8"; return mysql(url, user, pass); } /** * 本函数用来执行用户传入的sql语句(仅限于select语句) * * @param sql * 传入的sql语句,等待执行 * @return 返回执行sql语句后的结果集对象 */ public static ResultSet query(Connection conn, String sql) { ResultSet rs = null; try { // 3、通过连接对象创建一个语句对象stmt,用来执行sql语句 Statement stmt = conn.createStatement(); // 4、执行sql语句,得到一个rs(结果集对象) rs = stmt.executeQuery(sql); } catch (Exception e) { // 错误处理,暂时不用理会 e.printStackTrace(); } return rs; // 将查询得到的结果集对象返回 } /** * 本方法用来执行更新语句,并返回影响了多少行(insert,update,delete) * * @param sql * 传入的sql语句,等待执行 * @return 返回执行sql语句后的结果集对象 */ public static int update(Connection conn, String sql) { // 执行sql语句前先连接到数据库 Statement stmt = null; int i = 0; try { // 通过连接对象创建一个语句对象stmt,用来执行sql语句 stmt = conn.createStatement(); // 执行更新语句,并返回影响了多少行 i = stmt.executeUpdate(sql); } catch (Exception e) { // 错误处理,暂时不用理会 e.printStackTrace(); } finally { try { stmt.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return i; } public static void close(Connection conn, Statement stmt, ResultSet rs) { try { if (rs != null) { rs.close(); rs = null; } if (stmt != null) { stmt.close(); stmt = null; } if (conn != null) { conn.close(); conn = null; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
最近下载更多
jaonsang LV25
2019年10月26日
idcomcn2003 LV5
2019年4月2日
jiajia0524 LV2
2018年9月1日
wgtgt LV24
2017年9月9日
Fshenye LV1
2017年8月9日
淋湿巴黎mh LV2
2016年11月4日
inhv LV18
2016年4月15日
ivan747 LV7
2015年12月31日
zhangdashu LV1
2015年12月1日
勇往直前 LV10
2015年6月24日
最近浏览更多
婆婆12254 LV2
2023年6月12日
122378 LV3
2022年12月14日
wangjie49 LV7
2022年10月1日
接小兔兔回家
2021年12月3日
暂无贡献等级
马牛逼 LV1
2020年12月30日
1771658781 LV5
2020年12月17日
j_heyao LV1
2020年9月29日
zhangtian1997 LV10
2020年7月13日
cuimeng991226 LV1
2020年5月13日
gf12345678 LV5
2020年5月11日