3316-刘欣-Java学科-就业:是 扫二维码继续学习 二维码时效为半小时

(0评价)
价格: 免费

JDBC

*概念:java DataBase Connectivity 

java 数据库连接,java语言操作数据库

* JDBC 

java代码,不变,能不能操作所有的数据库

期望使用统一的一套java代码可以操作所有的关系型数据库

JDBC:定义了操作了所有关系型数据库的规则(接口);

java中接口的实现类

这套接口可以操作不同的数据库。

 

JDBC的实现类

每一种数据库场商,提供实现类

java接口的实现类,即为数据库驱动

JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商实现这套接口,提供数据库驱动jar包。

我们可以使用这套接口(jDBC)编程

真正执行的代码是驱动jar包的实现类,会产生一个多态的调用

父类对象,调用子类的方法,称之为多态???

 

 

[展开全文]

十分重要的知识JDBC的知识

1、用java语言,来操作数据库

2、快速入门

3、对JDBC中各个接口和类详解

 

JDBC的知识十分重要

[展开全文]

2。练习

    1。account表 添加一条记录

    2。

[展开全文]

Statement:用于执行sql语句

    1、执行sql

          1.boolean execute(String sql)

         2、int exeuteUpdate(String sql):

    执行DML(insert、update、delete,增删改)语句、DDL(create ,alter,drop)语句

    *返回值 :影响的行的数,可以通过这个影响的行数判断DML的语句是否执行成功,返回值>0的则执行成功,反之,则失败

3、ResultSet exeuteQuery(String sql);执行DQL(select)的语句

 

[展开全文]

Connection :数据库连接对象

   代表着当前代码,与数据库之间的桥梁

1、功能:

     1、获取执行sql的对象

     * Statement createStatement()

     * PreparedStatement 

     

     2、管理事务

       *开启事务:setAutoCommit

        提交事务:commit()

        回滚事务:rollback()

[展开全文]

获取数据库的连接:

  *方法:static Connection getConnection(String url,String user,String password)

 *参数:

        *url: 指定的连接路径

           *语法:jdbc:mysql://ip地址(域名):端口号/数据库名称

          *例子:jdbc:mysql://localhost:3306/db3;

         *细节:如果连接是本机的mysql服务器,并且mysql服务默认端口是3306,则url可以简写为:

     jdbc:mysql//

 

        *user :用户名

       *password;密码

 

[展开全文]

jdbc中操作中

详解各个对象:

每一个步骤为什么这样写,有一个更深层次的了解

1.DriverManager:驱动管理对象

   *功能:

1。注册驱动:告诉

   static void registerDriver(Driver driver):注册与给定的驱动程序

写代码使用 Class.forname("com.mysql.jdbc.driver")

通过查看代码发现:在com.mysql.jbdc.Driver类中存在静态代码块

 

注意:mysql5之后的驱动jar包可以省略注册驱动的步骤

 2。获取数据库连接

 

 

2.Connection:数据库连接对象

 

3.Statement:执行SQL的对象

 

4.ResultSet:结果集对象

 

5.PreparedStatement:执行sql的对象

[展开全文]

 

 

快速入门:

 * 步骤:

      1.导入驱动jar包

      2.注册驱动

      3.获取数据库连接对象 Connection

     4 定义SQL (发给数据库,java来发给数据库)

     5 获取执行sql 语句的对象,Statement

     6 执行SQL,接受返回结果

     7 处理结果

     8 释放资源

    

[展开全文]

2、权限管理

   1、查询权限

 

   2、授予权限

            -- 授予权限

grant 权限列表 on 数据库 ,表名 to '用户名'@‘主机名’

 

一般授予用户所有权限,是一个很危险的事情

 

3、撤销权限:

revoke 权限列表

 

[展开全文]

修改用户密码

 

* mysql中忘记了密码?

   1、cmd -- > net stop mysql

          *需要管理员权限

  2、使用无验证方式启动mysql服务:

     mysql -- skip -grant -tables

  

[展开全文]

SQL分类:

 1、DDL :操作数据库和表

2、DML:增删改表中数据

3、DQL:查询表中数据

4、DCL:管理用户,授权

 

DCL 现在已经很少使用了

DBA:数据库管理员

DCL:管理用户,授权

1、管理用户

      1、添加用户

      2、删除用户

      3、修改用户密码

      4、查询用户

          -- 1。切换到mysql数据库

            USE mysql;

           -- 2. 查询user表

         select * from user;

         * 通配符: % 表示可以在任意主机

 

2、授权

[展开全文]

事务的隔离级别(了解)

概念:多个事务之间隔离的,相互独立的。但是如果多个事务操作同一批数据,则会引发一些问题,设置不同的隔离级别就可以解决这些问题。

存在的问题:

1、脏读:一个事务,读取到另一个事务中没有提交的数据

2、不可重复读(虚读):在同一个事务中,两次读取到的数据不一样。

3、幻读:一个事务操作(DML,增,删,改)数据表中所有记录,另一个事务添加了一条数据,则第一个事务查询不到自己的修改。

隔离级别:

 1. read umcommitted:读未提交

         产生的问题:脏读、不可重复读,幻读

2. read committed :读已提交

        产生的问题:不可重复读、幻读

3.repeatable read :可重复读

serializable:串行化

*可以解决所有的问题

注意:隔离级别从小到大安全性越来越高,但是效率越来越低

 

 

 

[展开全文]

事务的四大特征:

1、原子性:是不可分割的最小操作单位,要么同时成功,要么同时失败

 

2、持久性:哪怕机关了,重点了。当事务提交或回滚后,数据库会持久化的保存数据。

3、隔离性:多个事务之间。相互独立。

4、一致性:事务操作前后,数据总量不变

[展开全文]

MySQL数据库中事务默认自动提交

 *一条DML(增删改)语句自动提交一次事务

 

MySQL数据库中事务默认自动提交

* 事务提交的两种方式:

       *自动提交

            * MySQL就是自动提交的

* 手动提交:

         * 需要先开启事务,再提交

MySQL数

[展开全文]

1、事务的基本介绍

    1。概念:

         *如果一个包含多个步骤的业务操作,被事务管理,要么同时成功,要么同时失改

       * 如果一个包含多个步骤的业务操作,被事务管理,要么同时成功,要么同时失败

      *如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败

 

 

张三给李四转账500元

1、查询张三账户余额是否大于500

2、张三账户 金额 -500

如果第二步,出现了异常,代码要跳转,造成的影响是:张三账户的钱减了500,李四的账户的钱没有加上

3、李四账户 金额 +500

三个业务操作完成,如果三个步骤没有事物管理的话

如果三个步骤被事务管理了,

操作:对应三条sql语句

1、开启事务: start transaction

2、回滚:rollback;

3、提交:commit;

 

 

 

事务的四大特征(非常常见的面试题)

事务的隔离级别(了解)

[展开全文]

* 多表查询的练习

 

用专业的手法写SQL

[展开全文]

子结询的结果是多行多列

 

[展开全文]

*子查询的不同情况

1.子查询的结果是单行单列的;

   * 子查询可以作为条件,使用运算符去判断;

2.子查询的结果是多行单列的;

* 子查询的结果

3.子查询的结果是多行多列的;

 

[展开全文]

外链接查询:

 1。左外连接

  * 语法 :select 字段列表 from 表1 left 【outer】 join 表2 on 条件;

* 查询的是左表所有数据以及交集

2、右外连接

 

左表与右表是怎么看的呢?

 

g

[展开全文]