JDBC
一:JDBC的概念:
JDBC是用java语言操作关系型数据库的一套API,JDBC定义了一套标准的接口,各种关系型数据库(MySQL,Oracle)定义各自的实现类来实现这个接口。
二:JDBC程序编写的步骤:
1.注册驱动
2.获取连接
3.获取数据库操作对象
4.执性sql
5.处理查询结果集(查询才存在返回值)
6.释放资源
(1)注册驱动
目的:告诉jdbc程序,我们即将连接的是哪一种数据库
JDBC提供了Driver接口,每个数据库提供这个接口的实现类
Class.forName("com.mysql.jdbc.Driver")
(2)获取连接
①通过Connection获取连接,通过Connection获取与数据库的连接
②建立Connection接口类的对象
Connection conn = DriverManager.getConnection(url, user, password);
其中:
String url = "jdbc:mysql://localhost:3306/test";
jdbc:mysql:协议
localhost:ip地址
3306:默认Mysql的端口号
test:是指数据库
Properties info = new Properties();
info.setProperty("user","root");
info.setProperty("password","1234");
其中:
user:root对应的是用户名
password:**** 对应的是密码
(3)获取数据库操作对象(prepareStatement)
创建prepareStatement的语法
String sql = "inset into customers(name,email)values(?,?)"
prepareStatement ps = conn.prepareStatement(sql)
//填充占位符
ps.setString(1, "nezha");
ps.setString(2, "nezha@qq.com");
(4)执性sql
ps.execute();(使用在增删改语句中)
(5)查询语句
ResultSet resultSet = ps.executeQuery();
if(resultSet.next()) {
//判断结果集的下一条是否有数据,如果有数据返回true,并指针下移,如果返回false,指针不下移
//获取当前这条数据的各个字段值
int id = resultSet.getInt(1);
String name = resultSet.getString(2);
String email = resultSet.getString(3);
Date birth = resultSet.getDate(4);
//将数据封装成对象
Customer customer = new Customer(id,name,email,birth);
System.out.println(customer);
(6)释放资源
ps.close();
conn.close();
resultSet .close();
注:可以参考反射知识点将下面参数放置在配置文件中
user=root
password=1234
url=jdbc:mysql://localhost:3306/test
driverClass=com.mysql.jdbc.Driver
注册驱动的步骤:
(1)在WEB-INF目录下创建lib目录,将jar包放在lib目录
选择 File 下的 Project Struture
(2) 选择 Libraries 添加
(3)在弹出的方框中点击“Cancel”,取消将其添加到Module中