IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> JDBCUtils附加增删改查功能 -> 正文阅读

[大数据]JDBCUtils附加增删改查功能

  1. db.properties连接
    driver = com.mysql.jdbc.Driver
    url = jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8
    user = root
    password = 123456
  2. 工具类连接数据库? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? JDBCUtils:
    package cn.pzhu.util;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.sql.*;
    import java.util.*;
    
    public class JDBCUtils {
        private static String driver = null;
        private static String url = null;
        private static String user = null;
        private static String password = null;
        private Connection con;
        private PreparedStatement preparedStatement;
        private ResultSet resultSet;
        //1.注册驱动
        static{
            InputStream in = JDBCUtil.class.getClassLoader().getResourceAsStream("db.properties");
            Properties properties = new Properties();
            try {
                properties.load(in);
                driver = properties.getProperty("driver");
                url = properties.getProperty("url");
                user = properties.getProperty("user");
                password = properties.getProperty("password");
                try {
                    Class.forName(driver);
                } catch (ClassNotFoundException e) {
                    e.printStackTrace();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
       public JDBCUtils(){
           try {
               con=DriverManager.getConnection(url, user, password);
           } catch (SQLException e) {
               e.printStackTrace();
           }
       }
        //2.获得连接
        public  Connection getConnection(){
            return con;
        }
    
        //3.释放资源
        public static void close(Connection connection, Statement statement, ResultSet result){
            if(result!=null){
                try {
                    result.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
            if(connection!=null){
                try {
                    connection.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }           if(statement!=null){
                try {
                    statement.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
        }
    
        /**
         * 增删改操作
         * @param sql
         * @param params
         * @return
         * @throws SQLException
         */
        public boolean updateSql(String sql, List<Object> params) throws SQLException{
            boolean flag=false;
            int result=-1;
            int index=1;
            preparedStatement=con.prepareStatement(sql);
            //空参数判断
            if(params!=null&&!params.isEmpty()) {
                //params遍历
                for (int i = 0; i < params.size(); i++) {
                    //预编译 填充参数
                    preparedStatement.setObject(index++, params.get(i));
    
                }
            }
    
            result=preparedStatement.executeUpdate();
            //执行成功
            if(result>0){
                flag=true;
            }
            return flag;
        }
    
        /**
         * 单查询
         * @param sql
         * @param params
         * @return Map<String, Object>
         * @throws SQLException
         */
        public Map<String, Object> findSimpleResult(String sql, List<Object> params) throws SQLException{
           Map<String,Object> map=new HashMap<String,Object>();
           int index=1;//setObject()都是1开始
           preparedStatement=con.prepareStatement(sql);
           //空参数判断
           if(params!=null&&!params.isEmpty()){
               for (int i=0;i<params.size();i++){
                   //填充占位符
                   preparedStatement.setObject(index++,params.get(i));
               }
               resultSet = preparedStatement.executeQuery();
               ResultSetMetaData metaData=resultSet.getMetaData();//以getMetaData就包括了数据的字段名称、类型以及数目等表格所必须具备的信息
               int column_len=metaData.getColumnCount();//获取字段数
               while (resultSet.next()){
                   for(int i=0;i<column_len;i++){
                       String column_name=metaData.getColumnName(i+1);//坐标从1起
                       Object column_value=resultSet.getObject(column_name);//获取字段值
                       if(column_value==null){
                           column_value="";
                       }
                       map.put(column_name,column_value);//结果填充到map
                   }
               }
           }
           preparedStatement.close();
           resultSet.close();
         return map;
        }
    
    
        /**
         * 多条查询
         * @param sql
         * @param params
         * @return
         * @throws SQLException
         */
        public List<Map<String, Object>> findMoreResult(String sql, List<Object> params) throws SQLException{
            List<Map<String,Object>> list=new ArrayList<Map<String, Object>>();
            int index=1;//setObject()都是1开始
            preparedStatement=con.prepareStatement(sql);
                for (int i=0;i<params.size();i++){
                    //填充占位符
                    preparedStatement.setObject(index++,params.get(i));
                }
                resultSet = preparedStatement.executeQuery();
                ResultSetMetaData metaData=resultSet.getMetaData();//以getMetaData就包括了数据的字段名称、类型以及数目等表格所必须具备的信息
                int column_len=metaData.getColumnCount();//获取字段数
                while (resultSet.next()){
                    Map<String,Object> map=new HashMap<String, Object>();
                    for(int i=0;i<column_len;i++){
                        String column_name=metaData.getColumnName(i+1);//坐标从1起
                        Object column_value=resultSet.getObject(column_name);//获取字段值
                        if(column_value==null){
                            column_value="";
                        }
                        map.put(column_name,column_value);//结果填充到map
                    }
                    list.add(map);
                }
            return list;
        }
    
        /**
         * 释放resultSet preparedStatement资源
         */
        public void closeAll(){
            if(resultSet!=null){
                try {
                    resultSet.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (preparedStatement!=null){
                try {
                    preparedStatement.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (con!=null){
                try {
                    con.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    

    3.测试类测试

    package cn.pzhu.test;
    
    import cn.pzhu.util.JDBCUtil;
    import cn.pzhu.util.JDBCUtils;
    import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    public class Test_7 {
        public static void main(String[] args) throws SQLException {
            JDBCUtils jdbcUtils=new JDBCUtils();
             Connection connection= jdbcUtils.getConnection();
             List<Object> list=new ArrayList();
             list.add("1");
             list.add("Alan");
             boolean key= jdbcUtils.updateSql("UPDATE USER SET PASSWORD = ? WHERE NAME = ? ",list);
             System.out.println("updateSql测试.........");
             System.out.println(key);
             List <Object> list1=new ArrayList<Object>();
             list1.add("6");
             String sql="SELECT  * FROM USER WHERE NAME=?";
             Map<String,Object> map=jdbcUtils.findSimpleResult(sql,list1);
             System.out.println("单条查询测试............");
             System.out.println(map);
             List<Object> list2=new ArrayList<Object>();
             String sql2="SELECT  * FROM USER";
             List<Map<String,Object>> listmap=jdbcUtils.findMoreResult(sql2,list2);
             System.out.println("多条查询测试.............");
             System.out.println(listmap);
             jdbcUtils.closeAll();
    
        }
    }
    

    测试结果:

    OK.............测试成功!?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-01-01 13:58:47  更:2022-01-01 13:59:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 14:11:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码