如何使用JDBC连接数据库?
1.JAVA的数据获取方式:
1 直接声明变量并赋值.
2 Scanner类控制台输入
3 IO流(将硬盘存储中的数据读取到java中)
4 scoket+io
5 从数据库中获取(使用jdbc连接)
2.什么是jdbc呢?
全称为Java DataBase Connectivity, JDBC其实就是数据厂商对外提供的能够对自己的数据进行操作的驱动包也就是jar文件,它是一个面向对象的应用程序接口(API), 通过它可访问各类关系数据库。JDBC也是java核心类库的一部分。odbc和jdbc的区别和联系
3.如何使用jdbc连接数据库并获取数据呢?
JDBC的基本使用流程:
1 导入jar包:(以mysql数据库为例)
要想实现连接数据库,要先下载jar包,比如:mysql-connector-java-5.1.47的jar包。
2 加载驱动
Class.forName("com.mysql.jdbc.Driver");
作用:初始化加载jdbc类到java虚拟机
3 获取数据库连接对象
String url = "jdbc:mysql://localhost:3306/demo";
String username="root";
String password="123456";
Connection conn =DriverMananger.getConnection("url","username","password");
参数含义:
url:表示要连接的数据地址(3306是数据库端口,demo是你建立的数据库名)
username:数据库的用户名
password:数据库的密码
作用: 连接到指定的数据库并返回连接对象.
4 创建sql命令对象(Statement/PrepareStatement)和sql命令
4.1 若使用Statement,则 需要动态拼接SQL语句
Statement stmt=conn.createStatement(); //作用: 编译,发送SQL命令
4.1.1 创建sql命令(以查询为例)
String name = "xx“; int pwd = 111;
String sql="select * from user where name="+name+" and password="+pwd;
4.2. 若使用PreparedStatement ,则需要使用 ? 占位符,并且将sql语句为参数传入进行预处理。
4.2.1 先创建 sql 命令
String sql="select * from user where name=? and password=?";
4.2.2 将sql语句传入进行预处理
PreparedStatement ps= conn.prepareStatement(sql);
4.2.3 给占位符赋值(占位符从左到右角标从1开始)
ps.setString(1,"xx");
ps.setString(2,”123“)
5 执行sql命令:
查询sql命令:
若是使用了Statement查询语句设置sql为参数,返回结果集:
ResultSet rs = stmt. executeQuery(sql);
若是使用 PreparedStatement
ResultSet rs = ps. executeQuery();
6 遍历结果
创建 user 实例接收遍历的结果
User user = null;
while(rs.next()){
u=new User();
u.setInt(rs.getInt("id"));
u.setUsername(rs.getString("username"));
u.setPwd(rs.getString("pwd"));
}
7 关闭资源(在finally语句块中)
rs.close();
ps.close();
conn.close();
4.JDBC 连接数据库操作的过程图
JDBC 连接数据库操作的过程