• 2020.10.25收获


    网站的基本内容

    一个完整的网站主要分为前端、后端、数据库三个部分,三个部分各司其职,拥有自己的技术或者是语言,网站上的数据就是在这三个部分之间传递。

    前端:前端负责的是页面的显示,我们平时在浏览网站的页面时所看到的布局,交互什么的就属于前端的内容,主要用到的技术或者语言是HTML、CSS、JavaScript这三个,在此基础上衍生出很多框架

    后端:后端负责的是数据的处理、逻辑业务的处理、与前端的数据交互,与数据库的数据交互等,可以说后端是前端与数据库之间的桥梁,但又不只是桥梁那么简单。像是一整个网站的服务的启动、前端显示所需要的数据、前端提交的数据处理、储存等等

    数据库:数据库的主要作用就是数据的存储,就比如一个网站上的用户的信息就是存在数据库中

    网站基本的工作流程

    一个简单的网站工作流程大体是:前端提交请求和数据,后端收到请求和数据后根据需要进行业务逻辑的处理,根据数据查询数据库或将数据存入数据库或者是一些其他的处理,后端获取到了数据库的操作结果后,对操作结果进行处理,再将处理的结果返回到前端,根据后端返回的信息跳转至相应的页面或是弹出相应的提示信息

    Java后端的三层架构

    前端提交的数据传到后端,后端就要根据得到的数据和请求进行相应的处理和操作。

    Java后端主要是三层架构:web(controller)层、service层和dao层

    web层:主要是与前端进行交互,获取前端提交的数据,调用service层的方法对数据进行处理,将处理好的数据返回前端,控制前端需要跳转到的页面

    service层:主要是进行数据业务的处理,比如用户注册时,并不是直接将用户名密码存入数据库,而是需要将密码进行加密后存入数据库,所以数据库存的是密码的密文,那么加密的过程就是在service层中进行的,service层对密码进行加密后,调用dao层的方法将用户注册的信息存入数据库中

    dao层:主要是jdbc的操作,也就是对数据库的操作,用最基本的jdbc的时候,dao层做的就是定义所需要的sql语句,调用jdbc提供的方法操作数据库

     ************************************************************************************************************************************************************************************************

    JDBC是什么?

    一、概念  

    1、什么是JDBC?  

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据  此可以构建更高级的工具和接口,使数据库开发者能够编写数据库的程序。简单地说,JDBC 可做三件事:与数据库建立连接、发送 操作数据库的语句并处理结果。  

    2、JDBC有什么用呢?  

    我们用JAVA就能连接到数据库;创建SQL或者MYSQL语句;执行SQL或MYSQL的查询数据库;查看和修改结果记录  二、连接常用的接口  提供的接口包括:JAVA API:提供对JDBC的管理链接;JAVA Driver API:支持JDBC管理到驱动器连接。

      1、DriverManager :这个类管理数据库驱动程序的列表。内容是否符合从Java应用程序使用的通信子协议正确的数据
      库驱动程序的连接请求。识别JDBC在一定子协议的第一个驱动器被用来建立数据库连接。
      2、Driver :此接口处理与数据库服务器通信。很少直接与驱动程序对象。相反,使用DriverManager中的对象,它管理
      此类型的对象。它也抽象的与驱动程序对象工作相关的详细信息。
      3、Connection :此接口与接触数据库的所有方法。连接对象表示通信上下文,即,与数据库中的所有的通信是通过唯一的连接对象。
      4、Statement :可以使用这个接口创建的对象的SQL语句提交到数据库。一些派生的接口接受除执行存储过程的参数。
      5、ResultSet  :这些对象保存从数据库后,执行使用Statement对象的SQL查询中检索数据。它作为一个迭代器,让你可以通过移动它的数据。


    创建JDBC的七大步骤:
      第一步:导入工具包:
         import java.sql.*;
         import javax.sql.*;
      第二步:注册jdbc驱动程序
      第三步:Class.forName( ....);
      第四步:使用DriverManager.getConnection();方法来创建一个Connection对象,它代表一个物理连接的数据库。
      第五步:执行查询:使用一个对象类型Statement或PreparedStatement()构建,并提交一个SQL语句到数据库。
      第六步:从结果集中提取数据;这一步是必需的情况下,从数据库中获取数据。可以使用适当的ResultSet.getXXX()方法来检索
      第七步:清理环境:关闭使用的数据库资源。
      

      我们用代码简单的来实现数据库的连接 代码如下:      

    package pkg1;   
    import java.sql.*;
    import javax.sql.*;
    public class Test{
        //Driver类全名
         private static final String DRIVER =www.qlincheng.cn  "com.microsoft.sqlserver.jdbc.SQLServerDriver";
         //jdbc协议:子协议://ip:端口号/
         private static final String URL = "jdbc:sqlserver:// www.shengrenyp.cn localhost:1433;databasename=";
         //数据库名
         private static final String DATABASE_NAME = "oa";
          //数据库用户名
          private static final String USER_NAME = "sa";
        //数据库密码
         private static final String PASSWORD = "123456";
        public static void main(www.baichuangyul.com  String args[]){
               //加载驱动程序:它通过反射创建一个driver对象。
                Class.forName( DRIVER );
                //1.打开Miccorsoft SQL Server  Managerment Studio 并且连接
                 Connection conn = DriverManager.getConnection( URL+DATABASE_NAME,USER_NAME,PASSWORD);
               //2.新建一个查询
              Statement stmt = conn.createStatement();
               //3.执行查询--->返回结果集
               ResultSet rs = stmt.executeQuery("select * from tt2");
                    int k = 0;
                   String g,d;
                   int count = 0;
                  while ( rs.next www.baichuangyule.cn() ){
                        k = rs.getInt("id");
                       g = rs.getString("name"www.chengmingyuLe.com);
                       d = rs.getString("sex");
                       System.out.println("编号:"+k+" "+"姓名:"+g+" "+"性别:"+d);
                       count++;  
                   }if(k==0){ 
                      System.out.println("查找正常,但没有记录");
                   }  
               //关闭Microsoft SQL Server  Managerment Studio连接 
               rs.close(www.mxdpt.cn); 
              stmt.close(); 
              conn.close();
     System.out.println("连接的数据库是"+conn);
     } 
     catch(ClassNotFoundException e){
    System.out.println("找不到驱动"+e.getMessage());
     }
     catch(Exception e){
     System.out.println("驱动已经加载成功,发生其他异常"+e.getMessage());
      }
      }
     }

    结果:
      我们现在在oa数据库里面建了一张tt2的数据库表,插上了数据
      在对代码进行编译
      可以看到已经把数据库里的内容读取出来了。
      
    三、补充内容
      
      1、JDBC结果集中为什么.next();?
      
      将光标从当前位置向下移动一行。结果集光标最初位于第一行之前;对方法的第一次调用接着使第一行成为当前行;第二次调用使第二行成为当前行,依此类推。
      
      如果当前行的输入流是打开的,那么对方法next的调用将隐式关闭它。读取新行时,ResultSet对象的警告链接清除。
      
      至于返回值,如果新的当前行有效,则为true;如果没有更多行,则为false.
      
      但是要特别注意,next()方法用一次,游标就往后移了一位,此时再使用next()来获取结果就是结果集中的第二个记录了。

     

    **********************************************************************************************************************************************************************************************

    一个三层架构的项目的目录结构大致是这样的:

    转载于:https://blog.csdn.net/weixin_43235209/article/details/108014801?utm_source=ap

  • 相关阅读:
    MySQL 数据类型
    MySQL 存储引擎
    在Windows上安装MySQL
    windows 查看端口占用
    Linux 配置静态IP
    Nginx 核心配置
    Nginx 简介
    Linux下使用Nginx
    Tomcat 核心配置
    Tomcat 项目部署、账户配置、状态监测
  • 原文地址:https://www.cnblogs.com/ltw222/p/13920549.html
Copyright © 2020-2023  润新知