生活随笔
收集整理的這篇文章主要介紹了
JAVA学习心得——DBUtil工具类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
接口:
package com.jd.util;
import java.sql.ResultSet;public interface IRowMapper{void rowMapper(ResultSet result);}
工具類:
提供防止SQL注入和不防止SQL注入兩種方法:
package com.jd.util;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;/*** 數據庫工具* * @author 馮申然*/
public class DBUtil {/*** 程序驅動* * @author 馮申然*/static {try {Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoundException e) {e.printStackTrace();}}/*** 連接mysql數據庫* * @author 馮申然*/public static Connection getconnection() {try {return DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test",root, root);} catch (SQLException e) {e.printStackTrace();}return null; }/*** 數據的增刪改查* * @author 馮申然*/public static boolean updata(String sql) {Connection connection =null;Statement statement =null;try {connection=getconnection();statement = connection.createStatement();int result = statement.executeUpdate(sql);return result>0;} catch (Exception e) {e.printStackTrace();}finally {close(statement,connection);}return false;}/*** 數據增刪改查* @author 馮申然*/public static boolean updata(String sql,Object...params) {Connection connection =null;PreparedStatement prepareStatement=null;try {connection=getconnection();prepareStatement = connection.prepareStatement(sql);for(int i=1;i<=params.length;i++) {prepareStatement.setObject(i, params[i-1]);}int result = prepareStatement.executeUpdate();return result>0;} catch (Exception e) {e.printStackTrace();}finally {close(prepareStatement,connection);}return false;}/*** 登錄設置* * @author 馮申然*/public static void select(String sql,IRowMapper rowMapper,Object...params) {//登錄設置ResultSet result =null;Statement statement =null;Connection connection =null;PreparedStatement preparedStatement =null;try {connection=getconnection();preparedStatement =connection.prepareStatement(sql);for(int i=1;i<=params.length;i++) {preparedStatement.setObject(i, params[i-1]);}result =preparedStatement.executeQuery();rowMapper.rowMapper(result);} catch (Exception e) {e.printStackTrace();}finally {close(result,statement,connection);}}/*** 檢驗數據是否存在* * @author 馮申然*/public static boolean exist (String sql) {//是否存在class RowMapper implements IRowMapper{boolean state;@Overridepublic void rowMapper(ResultSet result) {try {state=result.next();} catch (SQLException e) {e.printStackTrace();}} }RowMapper rowMapper =new RowMapper();select(sql,rowMapper);return rowMapper.state;}/*** 檢驗數據是否存在* * @author 馮申然*/public static boolean exist (String sql,Object...params) {//是否存在class RowMapper implements IRowMapper{boolean state;@Overridepublic void rowMapper(ResultSet result) {try {state=result.next();} catch (SQLException e) {e.printStackTrace();}} }RowMapper rowMapper =new RowMapper();select(sql,rowMapper,params);return rowMapper.state;}/*** 查詢數據* * @author 馮申然*/public static void select(String sql,IRowMapper rowMapper) {//查詢Connection connection =null;Statement statement =null;ResultSet result =null;try {connection=getconnection();statement = connection.createStatement();result = statement.executeQuery(sql);rowMapper.rowMapper(result);} catch (Exception e) {e.printStackTrace();}finally {close(result,statement,connection);} }/*** 查詢數據* * @author 馮申然*/public static void Select(String sql,IRowMapper rowMapper,Object...params) {//查詢Connection connection =null;Statement statement =null;ResultSet result =null;PreparedStatement preparedStatement =null;try {connection=getconnection();preparedStatement =connection.prepareStatement(sql);for(int i=1;i<=params.length;i++) {preparedStatement.setObject(i, params[i-1]);}result =preparedStatement.executeQuery() ;rowMapper.rowMapper(result);} catch (Exception e) {e.printStackTrace();}finally {close(result,statement,connection);} }/*** 釋放資源* * @author 馮申然*/private static void close(Statement statement,Connection connection){if (statement!=null) {try {statement.close();} catch (SQLException e) {e.printStackTrace();} }if (connection!=null) {try {connection.close();} catch (SQLException e) {e.printStackTrace();} }}private static void close(ResultSet result,Statement statement,Connection connection){if (result!=null) {try {result.close();} catch (SQLException e) {e.printStackTrace();}}if (statement!=null) {try {statement.close();} catch (SQLException e) {e.printStackTrace();} }if (connection!=null) {try {connection.close();} catch (SQLException e) {e.printStackTrace();} }}
}
總結
以上是生活随笔為你收集整理的JAVA学习心得——DBUtil工具类的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。