JDBC学习总结
一.JDBC介绍
jdbc是SUN公司和简化和统一对数据库的操作定义的一套接口,接口由数据库厂商实现,开发人员只需要学习jdbc接口,通过jdbc加载驱动就可以操作数据库了。
二.编写JDBC程序
2.1、在mysql中创建一个库,并创建user表和插入表的数据。
1 create table t_users(
2 id int primary key,
3 name varchar(32),
4 password varchar(32),
5 );
6 insert into t_users(id,name,password) values(1,'zhansan','123456');
7 insert into t_users(id,name,password) values(2,'lisi','123456');
8 insert into t_users(id,name,password) values(3,'wangwu','123456');
2.2、新建一个Java工程,并导入数据驱动。
2.3、编写程序从t_user表中读取数据
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class JdbcFirstDemo {
public static void main(String[] args) throws Exception {
// 连接数据库的url
String url = "jdbc:mysql:///test";
// 用户名
String user = "root";
// 密码
String password = "";
// 1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.创建连接
Connection conn = DriverManager.getConnection(url, user, password);
// 3.sql
String sql = "select * from t_user where id = ? ";
// 4.获取PreparedStatement对象
PreparedStatement ps = conn.prepareStatement(sql);
// 5.设置参数
ps.setInt(1, 1);
// 6.执行sql
ResultSet rs = ps.executeQuery();
// 7.处理结果集
while (rs.next()) {
String name = rs.getString(2);
String pwd = rs.getString("password");
System.out.println("name is " + name + "\n" + "password is " + pwd);
}
// 8.关闭连接,释放资源
rs.close();
ps.close();
conn.close();
}
}
运行结果如下:
2.4、数据库URL讲解
URL用于标识数据库的位置,通过URL地址告诉JDBC程序连接哪个数据库,URL的写法为:
常用数据库URL地址的写法:
- Oracle写法:jdbc:oracle:thin:@localhost:1521:sid
- SqlServer写法:jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sid
- MySql写法:jdbc:mysql://localhost:3306/sid
2.5、Connection类讲解
Jdbc程序中的Connection,它用于代表数据库的链接,客户端与数据库所有交互都是通过connection对象完成的,这个对象的常用方法:
- createStatement():创建向数据库发送sql的statement对象。
- prepareStatement(sql) :创建向数据库发送预编译sql的PrepareSatement对象。
- setAutoCommit(boolean autoCommit):设置事务是否自动提交。
- commit() :在连接上提交事务
- rollback() :在连接上回滚事务。
2.6、PreparedStatement类讲解
PreparedStatement执行动态的sql语句达到预编译的目的,可以防止程序sql攻击,推荐使用,这个对象的常用方法:
- executeQuery() : 执行查询语句,返回结果集
- execute() : 执行任意一条sql语句,返回的是boolean
- setString(int parameterIndex,String x) : 设置sql语句中的参数值,参数值从1开始
2.7、ResultSet类讲解
Jdbc程序中的ResultSet用于代表Sql语句的执行结果。 ResultSet既然用于封装执行结果的,所以该对象提供的都是用于获取数据的get方法:
获取任意类型的数据
getObject(int index)
getObject(string columnName)
获取指定类型的数据,例如:
getString(int index)
getString(String columnName)
注:index也是从第一列开始