工具:mysql-connector-java-5.1.48.jar,mysql version 5.6.19,android studio内置模拟器

1.connection

import java.sql.DriverManager

interface Connection {
fun init(){
var driver="com.mysql.jdbc.Driver"
var url="jdbc:mysql://10.0.2.2:3306/test"
var user="root"
var psd="rs123456"
try {
Class.forName(driver).newInstance()
println("连接成功1")
}catch (e:Exception){
e.printStackTrace()
println("连接失败")
} try{
Thread({
DriverManager.getConnection(url,user,psd)
println("连接成功2")
}).start() }catch (e:Exception) {
e.printStackTrace()
println("连接失败2")
} }
}

注意事项:android studio内置模拟器ip地址一定要设置为10.0.2.2

连接问题参考https://blog.csdn.net/qq_37141773/article/details/84326163

2.PreparedStatement

【准备工作】

在数据test中建立table

use test;

create table stuinfo(id int,name varchar(20));

<1>

import java.lang.Exception
import java.sql.Driver
import java.sql.DriverManager
import java.sql.PreparedStatement interface Connection {
fun init(){
var driver="com.mysql.jdbc.Driver"
var url="jdbc:mysql://10.0.2.2:3306/test"
var user="root"
var psd="rs123456"
try {
Class.forName(driver).newInstance()
println("连接成功1")
}catch (e:Exception){
e.printStackTrace()
println("连接失败")
} try{
Thread({
val conn=DriverManager.getConnection(url,user,psd) var sql:String="insert into stuinfo(id,name)values(?,?)"
val ps:PreparedStatement=conn.prepareStatement(sql)
ps.setString(1,"3")
ps.setString(2,"vocus")
ps.execute()
}).start() }catch (e:Exception) {
e.printStackTrace()
println("连接失败2")
} }
}

<2>Util类

class DbUtil {
fun updateDatabase(sql:String,vararg args:Any) {
var driver = "com.mysql.jdbc.Driver"
var url = "jdbc:mysql://10.0.2.2:3306/test"
var user = "root"
var psd = "rs123456" //var sql = "insert into stuinfo(id,name) values(?,?)"
try {
Class.forName(driver).newInstance()
println("数据库连接成功...")
} catch (e: Exception) {
e.printStackTrace()
}
try {
Thread({
var conn = DriverManager.getConnection(url, user, psd)
var ps = conn!!.prepareStatement(sql)
for(i in 0 until args.size){
ps.setObject(i+1,args[i])
}
ps.execute()
println("操作数据成功...")
}).start() } catch (e: Exception) {
e.printStackTrace()
}
}
}

增加查询

    var conn:java.sql.Connection?=null
var driver = "com.mysql.jdbc.Driver"
var url = "jdbc:mysql://10.0.2.2:3306/test"
var user = "root"
var psd = "rs123456" fun connection():java.sql.Connection?{ //var sql = "insert into stuinfo(id,name) values(?,?)"
try {
Class.forName(driver).newInstance()
println("数据库连接成功...")
} catch (e: Exception) {
e.printStackTrace()
}
try {
conn = DriverManager.getConnection(url, user, psd)
}catch (e:Exception){
e.printStackTrace()
}
return conn
} fun updateDatabase(sql:String,vararg args:Any) {
try {
Thread({
var conn = connection()
var ps = conn!!.prepareStatement(sql)
for(i in 0 until args.size){
ps.setObject(i+1,args[i])
}
ps.execute()
println("操作数据成功...")
}).start() } catch (e: Exception) {
e.printStackTrace()
}
} fun queryDatabase(sql:String,vararg args:Any){
try{
Thread({
var conn=connection()
var ps=conn!!.prepareStatement(sql)
for(i in 0 until args.size){
ps.setObject(i+1,args[i])
}
var resultSet=ps.executeQuery()
var rsmd=resultSet.getMetaData()
var columns=rsmd.columnCount
println("执行查询成功...以下为返回结果...")
if(resultSet.next()) {
for (i in 0 until columns) {
var value=resultSet.getObject(i+1)
var columnName=rsmd.getColumnName(i+1)
println("${columnName},${value}")
}
} }).start()
}catch (e:Exception){
e.printStackTrace()
} }
}

android studio使用JDBC访问mysql数据库(Kotlin方法)的更多相关文章

  1. 在Eclipse中使用JDBC访问MySQL数据库的配置方法

    在Eclipse中使用JDBC访问MySQL数据库的配置方法 分类: DATABASE 数据结构与算法2009-10-10 16:37 5313人阅读 评论(10) 收藏 举报 jdbcmysql数据 ...

  2. C#访问MySQL数据库的方法

    C#访问MySQL数据库的方法 (1)首先需要下载C#访问MySQL数据库的ADO.NET驱动程序 下载地址为: http://dev.mysql.com/downloads/connector/ne ...

  3. 使用JDBC对数据库进行查询的前期准备工作,以及简单的JDBC访问MySQL数据库(Mac)

    首先JDBC的前期数据库数据准备: 1,打开链接好MySQL的Workbench软件,新建一个数据库: 2.然后打开数据库对应的代码编辑窗口,建立表和插入数据记录: 3.然后是打开关于javaWeb编 ...

  4. 【转】Java 通过JDBC连接Mysql数据库的方法和实例【图文说明】

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...

  5. Java 通过JDBC连接Mysql数据库的方法和实例

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...

  6. Java 通过JDBC连接Mysql数据库的方法和实例【图文说明】

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...

  7. Spring Boot入门(五):使用JDBC访问MySql数据库

    本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 在程序开发的过程中,操作数据库是必不可少的部分,前面几篇博客中,也一直未涉及到数据库的操作,本篇博客 就 ...

  8. 浅谈JDBC访问MySQL数据库

    经过我自己的总结后,其实很简单,只需要记住四个步骤,JDBC这部分的学习就可以掌握差不多了,请多多指教. 加载注册JDBC驱动: 打开数据库: 创建向数据库发送sql语句的statement: Res ...

  9. 【Java/MySql】使用JDBC访问MySql数据库的Maven工程

    下载链接:https://files.cnblogs.com/files/xiandedanteng/FindNotnullColumns20191102-1.rar pom.xml里写: <p ...

随机推荐

  1. JAVA面试题0 JAVA语言的基本知识

    JAVA语言的特点是什么? >面向对象:两个基本概念:类和对象:三大基本特性:封装.继承.多态: >健壮性:java吸收了C/C++的优点,但是去掉了它们影响健壮性的部分,例如指针和内存申 ...

  2. Rabbitmq之高级特性——实现消费端限流&NACK重回队列

    如果是高并发下,rabbitmq服务器上收到成千上万条消息,那么当打开消费端时,这些消息必定喷涌而来,导致消费端消费不过来甚至挂掉都有可能. 在非自动确认的模式下,可以采用限流模式,rabbitmq ...

  3. CSS - 设置placeholder样式

    input::placeholder {         font-size: 12px;         font-family: Arial;         letter-spacing: 5p ...

  4. 【转载】redis.windows.conf 参数说明

    1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/ru ...

  5. int, float, double 等转化为 string

    一般有以下两种方法: QVecotr<int> vec; QString(QByteArray().setNum(vec.at(3))) float f; QString("%1 ...

  6. [题解] LuoguP3321 [SDOI2015]序列统计

    感觉这个题挺妙的...... 考虑最暴力的\(dp\),令\(f[i][j]\)表示生成大小为\(i\)的序列,积为\(j\)的方案数,这样做是\(O(nm)\)的. 转移就是 \[ f[i+1][j ...

  7. 逆向-PE导入表

    导入表 动态链接库需要导入表 结构 typedef struct _IMAGE_IMPORT_DESCRIPTOR { union { DWORD Characteristics; // 0 for ...

  8. Elasticsearch 使用集群 - 列出索引

    章节 Elasticsearch 基本概念 Elasticsearch 安装 Elasticsearch 使用集群 Elasticsearch 健康检查 Elasticsearch 列出索引 Elas ...

  9. 2016蓝桥杯决赛C/C++A组第四题 路径之谜

    题意: 小明冒充X星球的骑士,进入了一个奇怪的城堡.城堡里边什么都没有,只有方形石头铺成的地面. 假设城堡地面是 n x n 个方格.[如图1.png]所示. 按习俗,骑士要从西北角走到东南角.可以横 ...

  10. arm安装cuda9.0,tensorflow-gpu, jetson tx2安装Jetpack踩坑合集

    因为要在arm(aarch64)架构的linux环境中安装tensorflow-gpu,但是官方tf网上没有对应的版本,所以我们找了好久,找到一个其他人编译好的tensorflow on arm的gi ...