20201117_白玉

知识总结
数据库的封装,昨天学习了Java使用和连接MySQL数据库并进行增、删、改、查的步骤,发现有许多的重复步骤:
1、加载数据库驱动、2、连接数据库、4发送sql语句、5、执行sql语句;6、处理返回结果和关闭资源,具体代码如下所示:
今天在原基础上可以进行了数据库的封装:在dbhelper将步骤3的拼写sql语句提出、整理;
//拼写sql语句
String sql="DELETE FROM cpidatamanage WHERE cpiID=?";
Object []values= {"水果类","陕西省","2020-11","榴莲","70","500g","特价处理"};
helper.save();
}catch (Exception e) {
e.printStackTrace();
在DBUtils 中,实现定义Connection conn、PreparedStatement pst和ResultSet rs。先连接数据库。
再将增、删、改归为一类,查询单列(其中需要对占位符赋值)。
最后关闭资源
编写test,其中只需要改变语句中的需要查询的内容(下列代码中是类别对象dataType),输入对应的ID编号,便可以找到对应编号对象的相关信息。

import java.sql.ResultSet;

public class Test {
public static void main(String[] args) {
        DBUtils utils =new DBUtils();
        try {
            String sql ="SELECT * FROM cpidatamanage WHERE cpiID=?";
            Object [] values = {7};
            ResultSet rs=utils.executeQuery(sql,values);
            while(rs.next()) {
                System.out .println(rs.getObject("dataType"));
            }
        }catch (Exception e) {
            e.printStackTrace();
        }
    }
}

心得体会

1、在编写程序的封装过程中,我遇到了参数丢失、字符错误、数据库连接失败等问题,最终解决后,发现大部分都是自己的粗心大意造成的。
(1)在DBHelper中因为参数丢失而出现错误,最后发现需要使用Alt+Shift+L抽取本地变量,再在弹出的对话框中选择需要的指令。
(2)出现字符错误可以在下方的Console中选择自己输入的命令,可以很快的找到出现错误出现的行数。
(3)数据库连接是需要注意后续的数据库的"root","是否输入,否则连接失败。

2、客户端,服务器和数据库之间,客户端输入搜索关键字,服务端处理将请求发送往数据库,客户端与服务器之间存在有拦截器、过滤器等,
所以我们在输入某些敏感词汇时就会显示失败,关键字的查询并没有到达数据库。服务器的存在,不仅可以避免因数据库的更新导致的客户端
的更新版本的费用,还可以监控客户端的访问情况,不易被破解,更加安全。

3、基本代码的书写完毕后,会发现大量重复的语句,我们可以提取出关键编写的sql语句,进行封装。创建JBUtils时,需要数据库cpi、
数据库用户名和数据库密码,然后调用execute方法(看cpi库中是否有参数、查询数据库、参数列表、是否显示正确),增删改时可以提前
定义null;查询select需要提前
psts =conn.prepareStatement(sql);
rs=psts.executeQuery();
最终返回初始rs.

4、经过数据库封装的学习,我知道了网络搜索问题的基本原理,客户端、服务端和数据库之间的运行原理以及拦截器、过滤器的存在和使用,
对Java有了一定的了解,学习Java其实就是学习程序设计,需要接受一种编程思想,需要明白对象的需求并作出对应的语言。

标签

评论

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1