JDBC入门
- 导jar包:驱动!
- 加载驱动类:Class.forName("类名");
- 给出url,username,password,其中rul背下来
1.什么是JDBC
jdbc就是java数据库连接,说白了就是用java语言来操作数据库。原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC使用java语句向数据库发送SQL语句
2.JDBC原理
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中提供了如下类型来保存大数据类型