JDBC MySQL函数
说明
- jdbc模块函数主要是用于操作MYSQL或者ORACLE等数据库
- jdbc模块的对象前缀是jdbc,例如 jdbc.init()这样调用
- jdbc模块支持的mysql版本为5.x,不支持8.0+版本
jdbc.init 初始化JDBC链接
- 初始化JDBC链接
- @param jdbcDriver JDBC得驱动,mysql填写: com.mysql.jdbc.Driver
- @param dbUrl JDBC链接得URL,例如
jdbc:mysql://{ip}:{port}/{db}?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
- @param user 数据库用户名
- @param password 数据库密码
- @return
{bool}
true 代表成功 false 代表失败提示- 总有人把ip填成127.0.0.1或localhost导致连接失败
- 127是本机,本机是手机,不是你写代码的电脑,ip要填电脑的局域网ip
function main() {
//mysql 的地址 ip:端口/数据库名
let mysqlUrl = "jdbc:mysql://192.168.0.3:3306/test?characterEncoding=utf8&autoReconnect=true"
let inited = jdbc.init("com.mysql.jdbc.Driver", mysqlUrl, "root", "root123456");
logd("inited " + inited);
let conn = jdbc.connect()
logd("connect " + conn);
if (!conn) {
logd(jdbc.getLastError());
exit()
}
//查询语句
let q = "Select * from table1 where id=1"
let qur = jdbc.query(q, 60)
logd(qur);
jdbc.connectionClose()
}
main();
jdbc.getLastError 获取最近的错误
- 获取最近的错误
- @return
{string}
错误字符串,null 代表没错误
function main() {
//mysql 的地址 ip:端口/数据库名
let mysqlUrl = "jdbc:mysql://192.168.0.3:3306/test?characterEncoding=utf8&autoReconnect=true"
let inited = jdbc.init("com.mysql.jdbc.Driver", mysqlUrl, "root", "root123456");
logd("inited " + inited);
let conn = jdbc.connect()
logd("connect " + conn);
if (!conn) {
logd(jdbc.getLastError());
exit()
}
//查询语句
let q = "Select * from table1 where id=1"
let qur = jdbc.query(q, 60)
logd(qur);
jdbc.connectionClose()
}
main();
jdbc.connect 链接数据库
- 链接数据库,该方法在init函数执行后调用
- @return
{bool}
true 代表成功 false 代表失败
function main() {
//mysql 的地址 ip:端口/数据库名
let mysqlUrl = "jdbc:mysql://192.168.0.3:3306/test?characterEncoding=utf8&autoReconnect=true"
let inited = jdbc.init("com.mysql.jdbc.Driver", mysqlUrl, "root", "root123456");
logd("inited " + inited);
//链接数据库
let conn = jdbc.connect()
logd("connect " + conn);
if (!conn) {
logd(jdbc.getLastError());
exit()
}
//查询语句
let q = "Select * from table1 where id=1"
let qur = jdbc.query(q, 60)
logd(qur);
jdbc.connectionClose()
}
main();
jdbc.query 查询数据
- 查询数据
- @param sql sql语句
- @param timeout 超时,单位是秒
- @return JSON | 数据集合对象
function main() {
//mysql 的地址 ip:端口/数据库名
let mysqlUrl = "jdbc:mysql://192.168.0.3:3306/test?characterEncoding=utf8&autoReconnect=true"
let inited = jdbc.init("com.mysql.jdbc.Driver", mysqlUrl, "root", "root123456");
logd("inited " + inited);
let conn = jdbc.connect()
logd("connect " + conn);
if (!conn) {
logd(jdbc.getLastError());
exit()
}
//查询语句
let q = "select * from table1 where id=1"
let qur = jdbc.query(q, 60)
logd(qur);
jdbc.connectionClose()
}
main();
jdbc.createPreparedStatement 创建一个预处理SQL语
- 创建一个预处理SQL语句
- @param sql 预处理语句
- @param timeout 超时,单位是秒
- @return
{bool}
true 代表成功 false 代表失败
function main() {
//mysql 的地址 ip:端口/数据库名
let mysqlUrl = "jdbc:mysql://192.168.0.3:3306/test?characterEncoding=utf8&autoReconnect=true"
let inited = jdbc.init("com.mysql.jdbc.Driver", mysqlUrl, "root", "root123456");
logd("inited " + inited);
let conn = jdbc.connect()
logd("connect " + conn);
if (!conn) {
logd(jdbc.getLastError());
exit()
}
//查询语句
let q = "select * from table1 where id=? or uname=?"
//创建一个查询
let qur = jdbc.createPreparedStatement(q, 60)
if (qur) {
//设置第一个索引的参数
jdbc.psqlSetInt(1, 1)
//设置第二个索引参数
jdbc.psqlSetString(2, 'test')
}
//预处理查询
let data = jdbc.psqlQuery()
logd(data);
//关闭预处理语句
jdbc.psqlClose()
//插入数据
q = "insert table1(`uname`,`ucontent`,`create_time`)values(?,?,?);"
qur = jdbc.createPreparedStatement(q, 60)
if (qur) {
//设置第一个索引的参数
jdbc.psqlSetString(1, "我是名称")
//设置第二个索引参数
jdbc.psqlSetString(2, '我是内容')
//设置时间戳
jdbc.psqlSetTimestamp(3, "yyyy-MM-dd hh:mm:ss", "2020-10-02 12:02:11")
}
rowcount = jdbc.psqlExecuteUpdate();
logi("插入语句执行影响行数 -" + rowcount);
if (rowcount <= 0) {
loge("插入错误: " + jdbc.getLastError())
}
jdbc.connectionClose()
}
main();
jdbc.psqlQuery 执行预处理语句
- 执行之前创建得预处理语句
- @return
{string}
JSON字符串
function main() {
//mysql 的地址 ip:端口/数据库名
let mysqlUrl = "jdbc:mysql://192.168.0.3:3306/test?characterEncoding=utf8&autoReconnect=true"
let inited = jdbc.init("com.mysql.jdbc.Driver", mysqlUrl, "root", "root123456");
logd("inited " + inited);
let conn = jdbc.connect()
logd("connect " + conn);
if (!conn) {
logd(jdbc.getLastError());
exit()
}
//查询语句
let q = "select * from table1 where id=? or uname=?"
//创建一个查询
let qur = jdbc.createPreparedStatement(q, 60)
if (qur) {
//设置第一个索引的参数
jdbc.psqlSetInt(1, 1)
//设置第二个索引参数
jdbc.psqlSetString(2, 'test')
}
//预处理查询
let data = jdbc.psqlQuery()
logd(data);
//关闭预处理语句
jdbc.psqlClose()
//插入数据
q = "insert table1(`uname`,`ucontent`,`create_time`)values(?,?,?);"
qur = jdbc.createPreparedStatement(q, 60)
if (qur) {
//设置第一个索引的参数
jdbc.psqlSetString(1, "我是名称")
//设置第二个索引参数
jdbc.psqlSetString(2, '我是内容')
//设置时间戳
jdbc.psqlSetTimestamp(3, "yyyy-MM-dd hh:mm:ss", "2020-10-02 12:02:11")
}
rowcount = jdbc.psqlExecuteUpdate();
logi("插入语句执行影响行数 -" + rowcount);
if (rowcount <= 0) {
loge("插入错误: " + jdbc.getLastError())
}
jdbc.connectionClose()
}
main();
jdbc.psqlSetString 设置字符串参数
- 预处理语句设置字符串条件参数
- @param index 条件索引
- @param input 字符串
- @return
{bool}
true 代表成功 false 代表失败
function main() {
//mysql 的地址 ip:端口/数据库名
let mysqlUrl = "jdbc:mysql://192.168.0.3:3306/test?characterEncoding=utf8&autoReconnect=true"
let inited = jdbc.init("com.mysql.jdbc.Driver", mysqlUrl, "root", "root123456");
logd("inited " + inited);
let conn = jdbc.connect()
logd("connect " + conn);
if (!conn) {
logd(jdbc.getLastError());
exit()
}
//查询语句
let q = "select * from table1 where id=? or uname=?"
//创建一个查询
let qur = jdbc.createPreparedStatement(q, 60)
if (qur) {
//设置第一个索引的参数
jdbc.psqlSetInt(1, 1)
//设置第二个索引参数
jdbc.psqlSetString(2, 'test')
}
//预处理查询
let data = jdbc.psqlQuery()
logd(data);
//关闭预处理语句
jdbc.psqlClose()
//插入数据
q = "insert table1(`uname`,`ucontent`,`create_time`)values(?,?,?);"
qur = jdbc.createPreparedStatement(q, 60)
if (qur) {
//设置第一个索引的参数
jdbc.psqlSetString(1, "我是名称")
//设置第二个索引参数
jdbc.psqlSetString(2, '我是内容')
//设置时间戳
jdbc.psqlSetTimestamp(3, "yyyy-MM-dd hh:mm:ss", "2020-10-02 12:02:11")
}
rowcount = jdbc.psqlExecuteUpdate();
logi("插入语句执行影响行数 -" + rowcount);
if (rowcount <= 0) {
loge("插入错误: " + jdbc.getLastError())
}
jdbc.connectionClose()
}
main();