本人是纯粹的小白,看着书本的网上的一些信息来学习的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()
}
}
在运行是出现以下错误,在网上查了好多办法,一真解决不了,卡在这儿了,请大神看看从哪里入手,请尽量详细一些,我很菜,谢谢:
