zoukankan      html  css  js  c++  java
  • java,jdbc操作数据库

    要通过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);
                }
    
            }
    
        }
    }
  • 相关阅读:
    Retrofit2.0+OkHttp设置统一的请求头(request headers)
    Retrofit、Okhttp使用小记(cookie,accesstoken,POST
    quartz持久化部署实现
    支付宝支付-常用支付API详解(查询、退款、提现等)
    支付宝支付-提现到个人支付宝
    Git 版本还原命令
    CEF JS实现获取剪贴板图片的DataURL
    CEF 自定义用户协议(scheme)实现以二进制流的方式显示图片、视频、音频
    CEF C++调用前端js方法展示传递过来的图片数据
    C++读写图片数据转成Base64格式
  • 原文地址:https://www.cnblogs.com/xiamaojjie/p/12216033.html
Copyright © 2011-2022 走看看