最近做了个项目,app直接操作mysql数据库,特此记录一下
想必学过java的都知道,连接数据库都要用JDBC这个桥接。
环境介绍:楼主这里 自己使用Tomact 搭建个本地服务器,并安装好了mysql数据库。
本篇文章不解释前面的搭建服务器和安装mysql,大家自行查资料,不然太过臃肿。
一 下载需要的jar包
https://dev.mysql.com/downloads/connector/j/
配置网络权限
<uses-permission android:name="android.permission.INTERNET" />
后面就是加载驱动连接了。看Activity吧
package com.example.nick.connectionmysql
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import kotlinx.android.synthetic.main.activity_main.*
import java.sql.Connection
import java.sql.DriverManager
import java.sql.SQLException
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
tv_hello.setOnClickListener {
Thread(Runnable {
val sql = "SELECT * FROM pos_shop "
mysqlConnection(sql)
}).start()
}
}
/**
* 连接数据库
*/
fun mysqlConnection(sql:String) {
var cn: Connection
try {
//加载驱动
Class.forName("com.mysql.jdbc.Driver")
//建立连接
cn = DriverManager.getConnection("jdbc:mysql://192.168.8.254:3306/ggboy_2",
"ggboy", "123456")
val ps = cn.createStatement()
val resultSet = ps!!.executeQuery(sql)
while (resultSet.next()) {
Log.d("mysqlConnection: " , resultSet.getString("sh_co_barcode"))
}
if (ps != null) {
ps!!.close()
}
if (cn != null) {
cn.close()
}
} catch (e: ClassNotFoundException) {
e.printStackTrace()
} catch (e: SQLException) {
e.printStackTrace()
}
}
}
执行日志
源码https://gitee.com/nick_li/ConnectionMysql