一、JDBC介绍:
1.操作数据库的方式
1.通过命令行的方式操作mysql服务,cmd通过命令操作
2.通过图形化界面操作mysql服务,例如navicat软件
3.通过java程序连接操作mysql数据库,使用jdbc技术
2.什么是JDBC
JDBC(Java Data Base Connectivity),是 Java程序连接关系型数据库的技术。
是一种执行SQL的API(application programming Interface),可以为多种关系型数据库提供统一的访问。
它是由一组用java语言编写的类和接口组成,是Java访问数据库的标准规范。
3.JDBC原理
JDBC:java程序连接关系型数据库技术,java程序访问所有关系型数据库的标准规范接口
什么是数据库驱动程序
- 数据库驱动就是直接操作数据库的一个程序 。
- 不同数据产品的数据库驱动名字有差异 。
- 在程序中需要依赖数据库驱动来完成对数据库的操作。
总结:
JDBC就是由sun公司定义的一套操作所有关系型数据库的规则(接口),而数据库厂商需要实现这套接口,厂商的实现类在引入的数据库驱动jar包中。
程序员需要学习JDBC提供的接口规范来应用jar中的实现类。
二、JDBC实现增删改查
引入依赖jar包,添加到项目中的lib文件夹中,添加依赖
- 注册/加载驱动类:类加载,加载执行静态资源;
- 获取数据库连接
- 获取sql执行器对象
- 执行sql并获取结果集
- 操作结果集
- 释放资源
三、ORM编程思想
对象关系映射(英语:Object Relational Mapping,简称ORM,或O/R mapping)是一种为了解决面向对象语言与关系数据库存在的互不匹配的现象。
实体类
实体类就是一个定义了属性,拥有getter、setter、无参构造方法(基本必备)的一个类。实体类可以在数据传输过程中对数据进行封装,相当于一个“工具”、“容器”、“载体”,能存储、传输数据,能管理数据。
四、PreparedStatement预处理对象
1.PreparedStatement接口介绍
PreparedStatement 是Statement 接口的子接口,继承于父接口中所有的方法。它是一个预编译的 SQL 语句对象。
预编译:是指SQL 语句被预编译,并存储在PreparedStatement 对象中。然后可以使用此对象多次高效地执行该语句。
2.PreparedStatement特点
因为有预先编译的功能,提高SQL的执行效率。 -- sql只需要编译一次
可以有效的防止SQL 注入的问题,安全性更高。-- 先预编译,给占位符赋值,再执行sql
Sql注入:用户输入的内容作为了sql的一部分,改变了sql原有的含义;
出现问题的原因:将用户输入内容直接拼接到字符串中,再对字符串进行编译执行,造成问题