mysql和jdbc

Java和JDBC七步走

  • mysql和jdbc
  • 数据库的基本讲解
  • 数据库的视图
  • JDBC和Java

mysql和jdbc

Java语言能干什么

MSI:停车场管理系统,图书馆管理系统,管家婆

OA:办公自动化系统

CRM:客户关系管理系统

ERP:大型企业级应用管理

APP或服务端:12306

微信小程序

以上这些统称为应用型软件

功能性软件:百度网盘,屏幕录像专家

C/S:客户端/服务端 例如:QQ,酷狗

B/S:浏览器/服务端 例如:淘宝网

可以通过专门的工具实现将java写的程序变为xx.exe

BSD的讲解

是整个javaEE学习的重点

JavaWEB开发涉及到的内容

B:浏览器

​ Browser:浏览器

​ 技术:HTML,CSS,JS,JQuery(Ajax)

​ 前端框架:BootStrap, EasyUI…,layui,vue,elementui

​ 作用:获取信息

​ 提交信息

S:服务端

​ Server:后台服务器

​ 技术:Servlet–>是java语言中一个技术,struts2

​ 特点:请求–相应模式

​ 作用:接收用户请求

​ 处理做出反应

D:数据库

​ DataBase:数据库

​ 作用:用来储存暑假的地方/仓库

​ 特点:关系型的

​ 技术:SQL语句

​ 备注:SQL结构化查询语言

数据库的基本讲解

类比理解:仓库——现实世界中用来存储东西的地方

1.数据库:是存储数据的仓库

2.数据:计算机中的数据:图片,文字,音频,视频,文件

3.数据库的分类:关系型和非关系型数据库

3.1关系型数据库:二维表格

常见的种类:名称 隶属公司 端口号 应用范围

​ MySQL Oracle 免费 3306 大中小项目

​ Oracle Oracle 付费 1521 大型项目

​ SQLServer 微软 付费 1433 大中小项目

​ postqresql 免费

3.2非关系型数据库:not only -->nsql,非二维数据库

常见的种类:

​ MongoDB:文档型数据库

​ Redis: KV(键值对)数据库

​ Neo4J

4.MySQL:是一款关系型数据库,且是免费的,且是Oracle公司的产品,且适用于大中小型项目,且操作比较方便

数据库的视图

1.什么是视图:

1)视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上

2.视图的特性:

1)视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变);

2)可以跟基本表一样,进行增删改查操作(ps:增删改操作有条件限制);

3.视图的作用:

1)方便操作,特别是查询操作,减少复杂的SQL语句,增强可读性;

2)更加安全,数据库授权命令不能限定到特定行和特定列,但是通过合理创建视图,可以把权限限定到行列级别;

4.使用场合:

1)权限控制的时候,不希望用户访问表中某些含敏感信息的列,比如salary…

2)关键信息来源于多个复杂关联表,可以创建视图提取我们需要的信息,简化操作;

小结:视图就是一个虚表,但是可以方便查询,不要对视图进行添加,修改,删除因为这样会导致数据错乱

PS:一般情况下由DBA写,自己写

PS:DBA:数据库管理员

JDBC和Java

导读补充:java程序并不能直接作用于MySQL数据库

​ sql语句可以直接作用于MySQL数据库

1、JDBC:是一种技术,其实质是一组连接和操作数据库的API

2、在项目中怎样使用呢:

​ 1、添加jar包并构建路径

​ 2、开始使用

3、JDBC七步走:

1、加载驱动

2、指定URL/用户名+密码

3、获得连接

4、创建Statement对象

5、执行mysql语句

6、循环结果集

7、关闭流

示例1

public static void main(String[] args) throws Exception {
        //1、加载驱动
        Class.forName("com.mysql.jdbc.Driver");

        //2、指定URL/用户名+密码
        Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test20210529?useUnicode=true&characterEncoding=utf-8", "root", "123456");

        //3、获取连接
        if(!conn.isClosed())
        {
            System.out.println("连接成功了");
        }
    
        //4、创建stmt对象
        Statement stmt = conn.createStatement();

        //5、执行mysql语句
        ResultSet rs = stmt.executeQuery("SELECT * from USER ");

        //6、循环结果集

        while(rs.next())
        {
            System.out.println(rs.getString("id")+"\t"+rs.getString("name"));
        }
        //7、关闭流
        rs.close();
        stmt.close();
        conn.close();
    }

示例2

public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //连库四要素
        //定义要加载驱动的地址
        String driverName="com.mysql.jdbc.Driver";
        //定义要加载的数据库
        String url="jdbc:mysql://127.0.0.1:3306/test20210529?useUnicode=true&characterEncoding=utf-8";
        //定义用户名
        String user="root";
        //定义密码
        String poss="123456";


        //定义要执行的MySQL语句
        String sql_query="select * from user";


        //1、加载驱动
        Class.forName(driverName);

        //2、指定URL/用户名+密码
        Connection conn = DriverManager.getConnection(url, user, poss);

        //3、获取链接
        if(!conn.isClosed()){
            System.out.println("连接成功");
        }
        //4、创建Statement对象
        Statement stmt = conn.createStatement();

        //5、执行mysql语句
        ResultSet rs = stmt.executeQuery(sql_query);

        //6、循环结果集
        while(rs.next()){
            System.out.println(rs.getString("id")+"\t"+rs.getString("name"));
        }
        //7、关闭流
        rs.close();
        stmt.close();
        conn.close();

    }

与示例1不同在于,示例2中代码将需要的参数,都赋给了定义好的变量,这样做可以将代码定义成一个特定的工作类,每次去进行MySQL操作的时候,直接去调用即可

小结:java可以通过JDBC的这一技术去对数据库进行增删改查的一系列操作。

你可能感兴趣的:(java,mysql)