目录
1.JDBC常用接口和类
1 JDBC API
2 数据库连接Connection
1.通过DriverManage
2.通过DataSource对象获取
3.Statement对象
4.ResultSet对象
2.步骤
3.代码
1.JDBC常用接口和类
1 JDBC API
在Java JDBC编程中对数据库的操作均使用JDK自带的API统一处理,通常与特定数据库的驱动类是完全解耦的。所以掌握Java JDBC API (位于 java.sql 包下) 即可掌握Java数据库编程。
2 数据库连接Connection
获取Connection对象方法:
1.通过DriverManage
// 加载JDBC驱动程序
Class.forName("com.mysql.jdbc.Driver");
// 创建数据库连接
Connection connection = DriverManager.getConnection(url);
2.通过DataSource对象获取
DataSource ds = new MysqlDataSource();
((MysqlDataSource) ds).setUrl("jdbc:mysql://localhost:3306/test");
((MysqlDataSource) ds).setUser("root");
((MysqlDataSource) ds).setPassword("root");
Connection connection = ds.getConnection();
3.Statement对象
Statement对象主要是将SQL语句发送到数据库中,有三种Statement对象
方法 | 使用 |
Statement | 执行不带参数的简单SQL语句 |
PreparedStatement | 执行带参和不带参数的SQL语句 SQL语句会预编译在数据库系统 执行速度比Statement对象 |
CallableStatement | 执行数据库存储过程的调用 |
方法:
executeQuery()方法执行返回结果集,使用select语句
executeUpdate()方法返回值是一个整数,指示受影响的行数,用于update,insert,delect语句
4.ResultSet对象
ResultSet对象它被称为结果集,它代表符合SQL语句条件的所有行,并且它通过一套getXXX方法提供了对这些行中数据的访问。
2.步骤
1.准备数据库驱动包,并添加到项目的依赖中:
在项目中创建文件夹lib,并将依赖包mysql-connector-java-5.1.47.jar复制到lib中。再配置该jar
包到本项目的依赖中:右键点击项目Open Module Settings,在Modules中,点击项目,配置
Dependencies,点击+,JARS or Directories,将该lib文件夹配置进依赖中,表示该文件夹下的
jar包都引入作为依赖。
2.建立数据库连接
3.构造SQL语句
4.执行SQL语句--把sql语句(预编译过的)发送给服务器,由服务器做出响应
5.释放资源(关闭结果集,命令,连接)
3.代码
public class insert {public static void main(String[] args) throws SQLException {Scanner sc=new Scanner(System.in);DataSource dataSource=new MysqlDataSource();((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java0?characterEncoding=utf8&useSSL=false");((MysqlDataSource)dataSource).setUser("root");((MysqlDataSource)dataSource).setPassword("123456");Connection connection=dataSource.getConnection();System.out.println("输入姓名");String name=sc.nextLine();System.out.println("输入学号");int id=sc.nextInt();String sql="insert into student value(?,?)";PreparedStatement statement= connection.prepareStatement(sql);statement.setInt(1,id);statement.setString(2,name);System.out.println(statement);int ret=statement.executeUpdate();System.out.println("ret="+ret);statement.close();connection.close();}
}