• JavaEE三剑客之JDBC


    JavaEE阶段的JDBC,Servlet,Jsp是核心,也是后面SSM之后的基础.

    前面聊了Servlet和Jsp,Servlet的一个实现就是tomcat,人家实现了servlet.api.jar,自己就成了一个开源的服务器,就是对socket开始的一系列操作.

    Jsp是动态的网页响应,就是根据参数在程序计算的结果,动态的通过转发到jsp然后jsp经过计算,再生成最后的html网页结构数据,然后通过http协议响应给用户的浏览器,然后用户的浏览器再显示这个结果的过程.

    要成为一个基础版的网页应用,java生而为web,还缺一个数据库的链接标准操作,这个就是jdbc做的事情.

    下面给一段代码,来简要说明:

    private static String url;
    private static String uname;
    private static String pwd;
    private static String driver;
    static{
        try{
            InputStream resourceAsStream = JdbcUtils.class.getClassLoader().getResourceAsStream("mysql_connect.properties");
            Properties properties = new Properties();
            try {
                properties.load(resourceAsStream);
            } catch (IOException e) {
                e.printStackTrace();
            }
            url = properties.getProperty("url");
            uname = properties.getProperty("uname");
            pwd = properties.getProperty("pwd");
            driver = properties.getProperty("driver");
            Class.forName(driver);
        }catch (Exception e){
            e.printStackTrace();
        }
    }

    public static Connection getConnection(){
        Connection connection = null;
        try {
            connection = DriverManager.getConnection(url, uname, pwd);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return connection;
    }

    在红色部分的第一句,要知道任何一段程序,首先要加载程序的文本,那么这个class.getClassLoader就是在这段程序中,还要加入另外的配置信息(记载数据库的地址\端口和数据库名字, 登陆的账号及密码).

    当配置信息加载到程序中后,就可以取出里面的配置信息,这个是用Properties类来实现.

    得到了配置信息后,是用了
    Class.forName和DriverManager来获取连接对象connection的.

    connection可以获取statement对象,中文意思就是一个喇叭可以叫唤,叫唤啥,无非就是sql语句了.

  • 相关阅读:
    智能制造,RFID与流转线碰撞
    “undefined reference to XXX“问题总结
    基于 JSON 的 MySQL 可扩展性设计
    Typora设置代码块Mac风格三个圆点
    力扣第797题 所有可能的路径 C++ 深度优先搜索 +java
    Geode多节点集群实验
    Openresty缓存使用
    JavaScript重点知识总结一
    MySQL的Explain总结
    html--彩虹马
  • 原文地址:https://blog.csdn.net/m0_47161778/article/details/126287582