在Java开发中,操作数据库是不可避免的一部分。而数据库操作的核心之一就是获取数据库返回的值。在这篇文章中,我们将学习如何使用,让你的数据库操作变得更加简单。
准备工作
在开始编写代码前,我们需要准备好以下两点:
– 一个数据库(MySQL,Oracle,SQL Server等)
– 一个Java IDE (Eclipse,Intellij IDEA等)
如果你还没有以上两个条件,可以先自行搜索下载并安装。
步骤1 – 导入JDBC驱动器
使用Java操作数据库的时候,需要根据不同的数据库型号导入相应的JDBC驱动器。例如在使用MySQL数据库时,需要导入 MySQL 的 JDBC 驱动器。
1.将 JDBC 驱动器下载到本地,并解压到一个文件夹中。
2. 在 Java 项目中的 Libraries 文件夹内添加 JDBC 驱动器。在这个文件夹右键 -> Add JAR/Folder -> 选择刚才解压出来的 JDBC 驱动器。
3. 在 Java 代码中添加以下代码导入 JDBC 驱动器:
“`java
import java.sql.DriverManager;
import java.sql.Connection;
“`
步骤2 – 连接数据库
在 Java 中,与数据库建立连接需要使用 JDBC API 提供的 java.sql.Connection 接口。
“`java
String url = “jdbc:数据库类型://主机名:端口号/数据库名”;
String user = “用户名”;
String password = “密码”;
Connection conn = null;
try {
conn = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
“`
在连接数据库的代码块中,需要传入 URL、用户名和密码来建立与数据库的连接。
步骤3 – 执行SQL查询
在Java中使用JDBC API可以非常简单地执行 SQL 查询语句。下面我们通过一个例子演示一下如何通过数据库查询获得结果集数据。
示例代码:
“`java
String sql = “SELECT name, age FROM student”;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try {
preparedStatement = conn.prepareStatement(sql);
resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
String name = resultSet.getString(“name”);
int age = resultSet.getInt(“age”);
System.out.println(“名字:” + name + “,年龄:” + age);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (resultSet != null) {
resultSet.close();
}
if (preparedStatement != null) {
preparedStatement.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
“`
在执行完查询语句后,我们通过 ResultSet 来获取查询结果集,得到每一行的数据。ResultSet.next()方法可以查询是否还有下一行数据。如果有,则通过resultSet.getString()获取获取指定字段的值。
步骤4 – 封装数据库表中的每一行
在实际项目中,获取到ResultSet后还需要进行一些处理,将每一行放入一个Java对象中。下面是一个示例代码例子,将查询结果封装为一个List列表。
“`java
String sql = “SELECT name, age FROM student”;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
List studentList = new ArrayList();
try {
preparedStatement = conn.prepareStatement(sql);
resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
String name = resultSet.getString(“name”);
int age = resultSet.getInt(“age”);
Student student = new Student(name, age);
studentList.add(student);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (resultSet != null) {
resultSet.close();
}
if (preparedStatement != null) {
preparedStatement.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
“`
此处我们定义了一个 Student 类,将每个学生的姓名和年龄存储在此对象中。
“`java
public class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
“`
结语
相关问题拓展阅读:
- Java如何获取数据库中的数据·案例
- 如何用java调取带有列表返回值的存储过程
Java如何获取数据库中的数据·案例
下面是一个从 mysql 数据获取用户数据的案例,可以参考一下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
// 用户类,存储单个用户信息
class User {
private int id;
private String 空判乎name;
public User(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return “User “;
}
}
public class Demo1 {
public static void main(String args) throws ClassNotFoundException, SQLException {
// 本例使用 mysql 数据库,演示将数据库 test 的 tb_users 表中的用户信息
// 放到 List 中
// 加载数据驱动
Class.forName(“com.mysql.jdbc.Driver”);
// 数据库连接字符串, 此例数据库为 test
String url = “jdbc:
String user = “root”;// 数据库用户名
String password 冲闷= “”;// 数据库密码
// 打开一个数据连接
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
// 获取表 tb_users 所有用户信息到结果集中
ResultSet rs = stmt.executeQuery(“SELECT id, name FROM tb_users”);
// 定义一个存放用户信斗悉息的 List
List users = new ArrayList();
// 提取用户信息,并将用户信息放入 List
while (rs.next()) {
// 获取用户ID
int id = rs.getInt(1);
// 获取用户名
String name = rs.getString(2);
users.add(new User(id, name));
}
rs.close();
stmt.close();
conn.close();
// 显示用户信息
for (User u : users) {
System.out.println(u);
}
}
如何用java调取带有列表返回值的存储过程
CallableStatement stme=connection.prepareCall(“select p.item,p.type1,p.name,p.lvl,p.item_mode,p.type2,p.up_item from pub_itemcode p where p.type1=?
“);
stme.setInt(1, 1);
后面的晌大缺代码仿裤就是取ResultSet遍历,不再宴辩累述
方式一:
简单的使用JDBC
Class.forName(“oracle.jdbc.driver.OracleDriver”).newInstance();
String url=”jdbc:oracle:thin:@localhost:1521:orcl”;
//让雹orcl为数据库的SID
String user=”test”;
String password=”坦升帆test”;
Connection conn= DriverManager.getConnection(url,user,password);
List list = new ArrayList();
try{
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(SQL); //这里的SQL就是你的查询语句
ResultSetMetaData md = rs.getMetaData();
int columnCount = md.getColumnCount();
while (rs.next()) {
Map map = new HashMap();
for (int i = 1; i
map.put(md.getColumnName(i), rs.getObject(i));
}
list.add(map);
}
}catch(SQLException e)
{
e.printStackTrace();
}
return list;
我自己写的,不管什么SQL,都可以查询获取到一个笑尘list
关于java获取数据库返回值的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。