MySQL学习记录10JDBC入门
10.1数据库驱动10.2什么是JDBC10.3第一个JDBC程序 MySQL学习记录10JDBC入门 10.1数据库驱动
程序通过数据库驱动和数据库传递数据
而假设我们有MySQL、Oracle、Sql Server等多种数据库,难道我们要安装多个驱动吗?这时候就出现了JDBC.
JDBC(Java Database Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库。原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC是用Java语言向数据库发送SQL语句。
1、创建一个项目,创建测试数据库
CREATE DATAbase `jdbcStudy` CHARACTER SET utf8 COLLATE utf8_general_ci;USE `jdbcStudy`;CREATE TABLE `users`( `id` INT PRIMARY KEY, `NAME` VARCHAR(40), `PASSWORD` VARCHAR(40), `email` VARCHAR(60), birthday DATE);INSERT INTO `users`(`id`,`NAME`,`PASSWORD`,`email`,`birthday`)VALUES(1,'zhangsan','123456','zs@sina.com','1980-12-04'),(2,'lisi','123456','lisi@sina.com','1981-12-04'),(3,'wangwu','123456','wangwu@sina.com','1979-12-04')
2、导入数据库驱动
3、编写测试代码
import java.sql.*;//第一个jdbc程序public class JdbcFirstDemo { public static void main(String[] args) throws ClassNotFoundException, SQLException { //1.加载驱动 Class.forName("com.mysql.jdbc.Driver"); //固定写法,加载驱动 //2.用户信息和url String url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&useSSL=false"; String username = "root"; String password = "123456"; //3.连接成功 Connection代表数据库 Connection connection = DriverManager.getConnection(url, username, password); //4.执行sql的对象 Statement statement = connection.createStatement(); //5.执行sql String sql = "SELECt * FROM users"; ResultSet resultSet = statement.executeQuery(sql);//返回结果集 结果集中封装了我们查询的全部结果 while (resultSet.next()) { System.out.println("id=" + resultSet.getObject("id")); System.out.println("name=" + resultSet.getObject("NAME")); System.out.println("password=" + resultSet.getObject("PASSWORD")); System.out.println("email=" + resultSet.getObject("email")); System.out.println("birthday=" + resultSet.getObject("birthday")); } //6.释放连接 resultSet.close(); statement.close(); connection.close(); }}
步骤总结:
1、加载驱动
2、连接数据库 DriverManager
3、获得执行sql的对象 Statement
4、获得返回的结果集
5、释放连接
DriverManager
Class.forName(“com.mysql.jdbc.Driver”); //固定写法,加载驱动
Connection connection = DriverManager.getConnection(url, username, password);connection代表数据库
数据库设置自动提交
URL
String url = “jdbc:mysql://主机地址:端口号/数据库名?参数1&参数2&…”;
mysql端口号默认就是3306
Statement
statement.executeQuery();//查询操作 返回Resultset
statement.execute();//执行任何sql
statement.executeUpdate();//更新、插入、删除 都用这个 返回一个受影响的行数
ResultSet:查询结果集,封装了所有的查询结果
获得指定的数据类型
resultSet.getObject();//如果不知道列的类型就用这个
resultSet.getString();//知道列的类型用相应的
resultSet.getInt();
resultSet.getFloat();
resultSet.getDate();
。。。
释放资源
resultSet.close();
statement.close();
connection.close();