100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > JAVA学习心得——DBUtil工具类

JAVA学习心得——DBUtil工具类

时间:2021-12-03 18:22:04

相关推荐

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();} }}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。