JDBC入门

JDBC入门

  • 导jar包:驱动!
  • 加载驱动类:Class.forName("类名");
  • 给出url,username,password,其中rul背下来

1.什么是JDBC
jdbc就是java数据库连接,说白了就是用java语言来操作数据库。原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC使用java语句向数据库发送SQL语句
2.JDBC原理


图片.png

3.jdbc对数据库做增,删,改
1.通过Conncetion对象创建Statement
Statement语句的发送器,它的功能就是向数据库发送sql与语句!
2.调用它的int executeUpdate(String sql),它可以发送DML,DDL
// 1.通过Connection得到Statement对象
2.使用Statement发送sql语句
//执行查询
1.得到Connection
2.得到Statement,发送select语句
3.对查询返回的‘表格’进行解析
得到连接
1.准备四大参数

  • StringdriverClassName="com.mysql.jdbc.Driver"';
  • String url="jdbc:mysql://localhost:3306/exam";
  • String username="root";
  • String password="123";
    2.加载驱动类
    Class.forName(driverClassName);
    3.通过剩下的三个参数调用DriverManger的getConnection(),得到连接
    Connection con= DriverManger.getConncetion(url,username,password);
    4.异常
    ClassNotFoundExeption:这个异常是在第一句上出现的,出现这个异常有两个可能:
  • 你没有给出mysql的jar包
  • 你把类名称打错了,查看类名是不是com.mysql.jdbc.Driver.
    SQLException:这个异常出现在第五句,出现这个异常就是三个参数的问题,往往username和password一般不是出错,所以需要认真查看url是否打错

PrepareStatement

  • 它是Statement接口的子接口;
  • 强大之处
    1.防SQL攻击;
    2.提高代码的可读性,可维护性;
    3.提高效率
  • 学习PreparedStatement的用法
    如何得到PreparedStatement对象
    1.给出SQL模板
    2.调用Conncetion的preparement(String sql 模板)
    3.调用pstmt的setXxx()系列方法sql模板中的?赋值!
    4.调用pstmt的executeUpdate或exrcuteQuery(),但它的方法都没有参数。
  • 预处理的原理
    服务器的工作:
    校验sql语句的语法
    编译:一个与函数相似的东西!
    执行:调用函数
    PrepareStatement:
    前提:连接的数据库必须支持
    每一个pstmt都与一个sql模板绑定在一起,先把sql模板给数据库,数据库先进行校验,在进行编译。执行时只是把参数传递过去而已!
    若第二次执行时,就不用再次校验语法,也不用再次编译!直接执行!

UserDao

1.DAO模式
DAO模式就是写一个类,把访问数据库的代码封装起来。DAO在数据库与业务逻辑(Service)之间

  • 实体域,即操作的对象,例如我们操作的表示user表,那么就需要先写一个User类
  • DAO模式需要先提供一个DAO接口
  • 然后再提供一个DAO接口的实现类
  • 在编写一个DAO工厂,Service通过工厂来获取DAO实现
    修改项目:
    1.把UserDao修改为接口,然后把原来的UserDao修改类名为UserDaolmpl
    2.修改UserService中对UserDao的实例化:private UserDao userDao=DaoFactory.getUserDao();
    时间类型
    数据库类型与java中类型的对应关系DATE->java.sql.Date
    TIME->java.sql.Time
    TIMESTAMP->java.sql.TIMESTAMP
    1.java中的时间类型
    java.sql包下给出三个与数据库相关的时间类型,分别是
  • data:表示日期
  • time:表示时间
  • timestamp:表示时间戳
    大数据
    1.什么是大数据
    所谓大数据,就是大的字节数据,或大的字符数据。标准SQL中提供了如下类型来保存大数据类型


    图片.png

你可能感兴趣的:(JDBC入门)