要通过java操作数据库,需要安装相关依赖的包,我这里操作的是mysql数据库,用到的包是:mysql-connector-java 版本是:5.1.38
首先需要环境搭建去,maven仓库找到相应的包和版本:
地址:https://mvnrepository.com/artifact/mysql/mysql-connector-java
操作步骤:
环境搭建好了,接下来是通过代码操作数据库。
步骤如下:
第3步是为了添加占位符,防止sql注入,可以略过。
我这里封装了一个通用的数据库查询的方法,可以直接拿去改下数据库的配置信息,直接调用。
代码如下:
package com.mg.java.maven.day03; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; /** * JDBC操作数据库 * * @author admin * */ public class JDBCDemo { public static void main(String[] args) throws SQLException { JDBCDemo jdbcDemo = new JDBCDemo(); String url = "jdbc:mysql://localhost:3306/school?useUnicode=true&characterEncoding=utf-8&useSSL=false"; String user = "root"; String password = "root"; String sql = "SELECT sname FROM student WHERE age = 23;"; jdbcDemo.query(url, user, password, sql); } /** * 查询方法 * * @param url 数据库的配置信息 * @param user 数据库用户名 * @param password 数据库密码 * @param sql 查询的sql语句 * @throws SQLException */ public void query(String url, String user, String password, String sql) throws SQLException { // 1连接数据库 Connection connection = DriverManager.getConnection(url, user, password); // 2获取PreparedStatement连接对象 PreparedStatement preparedStatement = connection.prepareStatement(sql); // 3调用查询方法,执行查询,返回ResultSet结果集 ResultSet resultSet = preparedStatement.executeQuery(); // 获取查询相关信息 ResultSetMetaData metaData = resultSet.getMetaData(); // 得到查询字段的数目 int columnCount = metaData.getColumnCount(); // 4从结果集中取出查询数据 while (resultSet.next()) { // 循环取出每个查询字段的数据 for (int i = 1; i <= columnCount; i++) { String columnLable = metaData.getColumnLabel(i); String columnValue = resultSet.getObject(columnLable).toString(); System.out.println(columnValue); } } } }