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);
                }
    
            }
    
        }
    }
  • 相关阅读:
    【码上微服务】- 环境搭建
    【码上微服务】- 环境搭建
    Python 3版本 开始
    算法理解之大数相乘问题
    mycat配置分库分表 读写分离 linux系统
    es6的数组去重
    解析Java为什么不接受合法的HTTPS证书
    为什么要创建开放源码的PlayScala社区?
    实时同步MongoDB Oplog开发指南
    Scala基础
  • 原文地址:https://www.cnblogs.com/xiamaojjie/p/12216033.html
Copyright © 2011-2022 走看看