qdcksj 2020-11-17 17:41 采纳率: 0%
浏览 210

关于kotlin连接mysql问题----纯小白的疑惑

本人是纯粹的小白,看着书本的网上的一些信息来学习的kotlin,也学习了一点java,现在在连接mysql时总是出现错误,请大神的看一下问题可能出现哪里:

package com.example.datatest

import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import java.sql.*
import java.sql.Connection;
import java.sql.DriverManager;


class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)


//加载数据库驱动

//加载数据库驱动
        try {
            Class.forName("com.mysql.jdbc.Driver")
            Log.d("MainActivity", "加载JDBC驱动成功!")
        } catch (e: ClassNotFoundException) {
            Log.d("MainActivity", "加载JDBC驱动失败!")
            return
        }
        //连接数据库(开辟一个新线程)
        //连接数据库(开辟一个新线程)
        val thread = Thread(Runnable {
            // 反复尝试连接,直到连接成功后退出循环
            while (!Thread.interrupted()) {
                try {
                    Thread.sleep(100) // 每隔0.1秒尝试连接
                } catch (e: InterruptedException) {
                    Log.e("MainActivity", e.toString())
                }

                // 2.设置好IP/端口/数据库名/用户名/密码等必要的连接信息
                //val ip = "192.168.1.10" //本机IP
                //val port = 3307 //mysql默认端口
                //val dbName = "test1" //自己的数据库名
                val url = "jdbc:mysql://192.168.1.10:3307/test1"
                         // 构建连接mysql的字符串
                val user = "qdck" //自己的用户名
                val password = "426619" //自己的密码

                // 3.连接JDBC
                try {
                    val conn = DriverManager.getConnection(url, user, password)
                    Log.d("MainActivity", "连接数据库成功!")
                    //查询学生表
                    val sql = "SELECT * FROM table1 "
                    try {
                        // 创建用来执行sql语句的对象
                        val statement: Statement = conn.createStatement()
                        // 执行sql查询语句并获取查询信息
                        val rSet: ResultSet = statement.executeQuery(sql)
                        // 迭代打印出查询信息
                        Log.d("MainActivity", "学生列表")
                        Log.d("MainActivity", "id\t\t\tname\tage\tsex\t")
                        while (rSet.next()) {
                            Log.d("MainActivity", rSet.getString("id").toString() + "\t" + rSet.getString("name") + "\t"
                                    + rSet.getString("age") + "\t" + rSet.getString("sex") + "\t")
                        }
                    } catch (e: SQLException) {
                        Log.e("MainActivity", "查询错误")
                    }
                    //关闭数据库
                    try {
                        conn.close()
                        Log.d("MainActivity", "关闭连接成功。")
                    } catch (e: SQLException) {
                        Log.d("MainActivity", "关闭连接失败。")
                    }
                    return@Runnable
                } catch (e: SQLException) {
                    Log.d("MainActivity", "连接数据库失败!")
                }
            }
        })
        thread.start()

    }
}

在运行是出现以下错误,在网上查了好多办法,一真解决不了,卡在这儿了,请大神看看从哪里入手,请尽量详细一些,我很菜,谢谢:

 

  • 写回答

3条回答 默认 最新

  • 清风徐来,撸代码 2020-11-17 19:25
    关注

    你的這個類沒有找到,看是在哪個包下吧,是jar包沒導入嗎,提示你是有個類沒找到.

    评论

报告相同问题?