“请必须要有自信,你就是一道风景,没必要在别人风景里面仰视。”你好,我是梦阳辰,快来和我一起学习吧!
01.JDBC是什么?
02.JDBC快速入门
03.JDBC中的各个类和接口
04.PreparedStatement接口(Statement的子接口)
05.JDBC控制事务
概念:Java DataBase Connectivity ,java数据库连接,Java语言操作数据库。
JDBC本质:sun公司定义的一套操作所有关系型数据库的接口。各个数据库厂商去实现这套接口(提供数据库驱动jar包)。我们可以使用这套接口(jdbc)编程,真正执行的代码时驱动jar包中的实现类。但我们只需要面向接口编程。
步骤:
1.下载驱动:去你使用的数据库厂商的官网找到你要使用的数据库版本对应的版本驱动,下载驱动。
2.将驱动jar包导入项目
1.赋值mysql-connector-java-5.1.xx-bin.jar到项目的lib目录下。
然后单击目录右键–>Add as Library。
3.注册驱动(告诉程序你用的是哪个厂商,哪个版本的数据库)
4.获取数据库连接对象(Connetion)(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,重量级的,使用完之后一定要关闭)
5.定义sql
6.获取执行sql语句的对象(Statement)(专门执行sql语句的对象)
7.执行sql,接受返回结果
8.处理结果
9.释放连接
注意:用文本编辑器开发,需要配置环境变量到classpath中。
如果使用IDEA工具的时候,不需要配置classpath环境变量,按要求导入jar包到项目即可。
查询:
JDBC API主要位于java.sql包下。
Dirver接口是所有JDBC驱动程序必须实现的接口,该接口专门提供给数据库厂商使用。编写运行程序记得,一定要先将对应数据库厂商的jar包导入项目的classpath中。
1.DriverManager类(驱动管理对象)
功能:
1).注册驱动(告诉程序使用哪一个驱动jar)
com.mysql.jdbc.Driver的静态代码块:
2.)获取数据库连接
url:
jdbc:mysql:// 协议
127.0.0.1 IP地址
3306 mysql数据库端口号
teaching 数据库
如果主机是本机,端口号是3306,则主机ip和端口号可以不写。
2.Connection接口(数据库连接对象)
1).获取执行sql的对象。
2).事物管理
开启事务
提交事务
回滚事务
3.Statement接口(执行sql的对象)
用于执行静态SQL语句并返回其生成的结果的对象。
练习:
1.student表 添加一条记录
2.student表 修改一条记录
3.student表 删除一条记录
4.ResultSet接口(结果集对象)
表示数据库结果集的数据表,通常通过执行查询数据库的语句生成.
封装结果集对象:
遍历结果集:
定义一个方法,查询Studnet表的数据将其封装为对象,然后装载集合,返回。
1.定义Student类(一个表就相当于一个类)
2.定义public List findAll(){}
3.实现方法 select xx,xx,xxx from Student;
student类
可以写JDBC工具类,简化JDBC连接数据的操作。
采用配置文件,存储url,user,password等。
Statement对象,执行sql会存在sql注入问题。
SQL注入问题:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接。会造成安全性问题。
2.解决sql注入问题:使用PreparedStatement对象来解决。
PreparedStatement对象采取预编译。
SQL语句已预编译并存储在PreparedStatement对象中。 然后可以使用该对象多次有效地执行此语句。
参数使用占位符
采取占位符?
6.获取执行sql语句的对象(PreparedStatement)(专门执行sql语句的对象)
7.给占位符赋值
8.执行sql,接受返回结果(不需要参数sql)
9.处理结果
10.释放连接
JDBC控制事务:
**事务:**一个包含多个步骤的业务操作。如果这个业务操作被事务管理,则这多个步骤要么同时成功,要么同时失败。
2.操作:
3.使用connection对象来管理事务
开后事务 : setAutoCommit(boolean autoCcommit) :调用该方法设置参数为false,即开起事务。
提交事务: commit()
回滚事务: rollback( )
Give up worrying about what others think of you。What they think isn’t important.What is important is how you feel about yourself.
这篇文章也许对你有用:
一文带你搞定JDBC