美文网首页
Java-动态参数连接mysql

Java-动态参数连接mysql

作者: 九七学姐 | 来源:发表于2017-07-27 12:32 被阅读40次

总结表述能力太有限,还是大篇幅描述一下自己的小程序吧。主要是java中一些对mysql的操作,比如创建表,查询表,以及随机查询表中的几条记录。可参考MySQL Java tutorial,本篇文章详细介绍一下如何随机查询表中的几条记录。手册中给出的只有url一个参数,我的要求是表名,以及几条记录都作为参数,由用户自定义的,所以,就要涉及到mysql语句的拼接问题了。想来想去也只能用字符串拼接了,还是直接贴代码,代码中注释。欢迎有需要的小伙伴参考,也欢迎各路大神指教。

import java.io.IOException;
import java.sql.*;

/**
 * Created by xh on 17-7-26.
 * 随机读取数据库中的size条记录,注意,tableName及记录的条数作为参数传入,所以需要用到字符串拼接,StringBuffer()
 * append()方法,另外需要转换成字符串的时候使用.toString()即可
 */
public class ReadSqlrecorderRandom {
    public static void main(String[] args) throws IOException {
        getRecordsRandom("jdbc:mysql://数据库","表",记录的数量);
    }
    public static ResultSet getRecordsRandom(String url, String tableName,int size) throws IOException {
        Connection con = null;
        PreparedStatement pst = null;
        ResultSet rs = null;
        String user = "root";
        String password = "passwd";
        try {

            con = DriverManager.getConnection(url, user, password);
            StringBuffer sql=new StringBuffer("SELECT * FROM  ");
            if(tableName !=null){
               sql.append(tableName);
               sql.append(" order by rand() LIMIT ");
               sql.append(size);
            }

            //pst = con.prepareStatement("SELECT * FROM" +tableName+ "order by rand() LIMIT" +size+ "");
            pst = con.prepareStatement(sql.toString());
            rs = pst.executeQuery();

            while (rs.next()) {

                System.out.print(rs.getInt(1));
                System.out.print(": ");
                System.out.println(rs.getString(2));
            }

        } catch (SQLException ex) {
            ex.printStackTrace();
            //Logger lgr = Logger.getLogger(RetrieveAll.class.getName());
            // lgr.log(Level.SEVERE, ex.getMessage(), ex);

        } finally {

            try {

                if (rs != null) {
                    rs.close();
                }

                if (pst != null) {
                    pst.close();
                }

                if (con != null) {
                    con.close();
                }

            } catch (SQLException ex) {
                ex.printStackTrace();
                //Logger lgr = Logger.getLogger(getRecordsRandom().class.getName());
                //lgr.log(Level.WARNING, ex.getMessage(), ex);
            }
        }
        return  rs;
    }
}

相关文章

  • Java-动态参数连接mysql

    总结表述能力太有限,还是大篇幅描述一下自己的小程序吧。主要是java中一些对mysql的操作,比如创建表,查询表,...

  • Python 连接 MySQL

    安装 python 连接 mysql 工具 python 连接 mysql 参数化, 参数化主要解决的是 sql ...

  • MySQL handler解读

    参数解读 各参数含义参考这个连接(摘抄如下):MySQL Handler mysql> show global s...

  • iOS动态调用类方法

    iOS动态调用类方法(不带参数) iOS动态调用类方法(带参数) iOS动态调用类方法(有返回值) 优点 弱化连接...

  • 基于Python的mysql与excel互相转换

    1.mysql转为excel getConn函数获取mysql连接,第1个参数database为要连接的数据库。m...

  • Python数据库连接池实例——PooledDB

    不用连接池的MySQL连接方法 用连接池后的连接方法 PooledDB的参数: mincached,最少的空闲连接...

  • python操作mysql

    1.依赖模块 pymysql 2.连接参数 常用的连接参数: host:mysql服务器所在的主机的ip或者域名 ...

  • Python & Spark 操作常见数据库整理

    Python mysql 使用pymysql操作,连接主要配置参数:config = {'host': "host...

  • aiomysql库常用接口

    [aiomysql官网] Connection 连接MySQL的协程: 使用连接创建游标的协程: 参数: curs...

  • session 和连接

    session 仅仅只是成功连接的一个结果。mysql携带一些参数来向服务器确定一个mysql 连接,而连接确认之...

网友评论

      本文标题:Java-动态参数连接mysql

      本文链接:https://www.haomeiwen.com/subject/qvrzkxtx.html