目录
获取Connection相当于是建立一座桥通往Mysql数据库;
创建Statement对象相当于建造一辆车通过桥前往MySQL数据库去获取资源;
SQL语句呢?相当于车上挂着一个“牌”:写着我需要什么资源,MySQL会根据我的“牌”上的去给我拿资源;
五、使用PreparedStatement实现CRUD的操作
(Statement VS PreparedStatement)
一、什么是JDBC?
简单来说,JDBC是Sun公司提供的一个标准API,用于在Java程序中与关系数据库进行交互的一组规范(接口),通过注册对应数据库提供的驱动,调用API来操作数据库。

二、JDBC体系结构
1.面向应用API:javaAPI,抽象接口,供应用程序开发人员使用(连接数据库,执行SQL语句,获得结果)。
2.面向数据库API:Java Driver API,供开发商开发数据库驱动程序使用。
三、JDBC连接数据库编写步骤

个人理解:
获取Connection相当于是建立一座桥通往Mysql数据库;
创建Statement对象相当于建造一辆车通过桥前往MySQL数据库去获取资源;
SQL语句呢?相当于车上挂着一个“牌”:写着我需要什么资源,MySQL会根据我的“牌”上的去给我拿资源;
(Maven项目推荐导入依赖)
1.①导包(Java连接数据库的驱动jar包【可以上网查】),在工程文件目录下建立一个lib文件夹存放jar包;
②把connector-jar包copy进入lib文件夹里。
2.加载和注册JDBC驱动和获取连接
/**
*以下为伪代码
*/
Class.forName(driverClass); //使用反射,driverClass为驱动路径
Connection connection = DriverManager.getConnection(url, user, password); //获取连接
String sql =".........";
//使用Statement
Statement st=connection.creatStatement(); //"造车"
st.excuteQuery(sql) //挂一个“牌”给车并且返回资源
3.建议把驱动路径、url、user、password写在jdbc.properties配置文件里
其中,配置文件声明在工程的src目录下:【jdbc.properties】
user=root
password=root
url=jdbc:mysql://localhost:3306/xxxxx
driverClass=com.mysql.cj.jdbc.Driver
使用配置文件的好处👍:①实现了代码和数据的分离,如果需要修改配置信息,直接在配置文件中修改,不需要深入代码。
②如果修改了配置信息,省去重新编译的过程。
四、如何读取配置文件里的信息?
InputStream is=ConnectionTest.class
.getClassLoader()
.getResourceAsStream("jdbc.properties");
//ConnectionTest是当前类,使用反射获取类的加载器,再调用getResourceAsStream()传入配置文件的路径,返回一个输入字节流
Properties pros = new properties();pros.load(is) //加载配置文件
String user = pros.getProperty("user"); //获取user
String password =pros,getProperty("password"); //获取password
String url = pros.getProperty("url"); //获取url
String driverClass = pros.getProperty("driverClass"); //获取driverClass
class.forname(driverClass); //注册驱动
Connection conn = DriverManager.getConnection(url,user,password); //获取连接
五、使用PreparedStatement实现CRUD的操作
(Statement VS PreparedStatement)
使用Statement操作数据表存在弊端:
- 问题一:存在拼串操作,繁琐
- 问题二:存在SQL注入问题
推荐使用PreparedStatement进行预编译,避免了Sql语句拼串的操作👍


被折叠的 条评论
为什么被折叠?



