JDBC MySQL函数
说明
- jdbc模块函数主要是用于操作MYSQL或者ORACLE等数据库
- jdbc模块的对象前缀是jdbc,例如 jdbc.init()这样调用
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 代表失败
function main() {
//mysql 的地址 ip:端口/数据库名
let mysqlUrl = "jdbc:mysql://192.168.0.3:3306/test?characterEncoding=utf8&autoReconnect=true"
let inited = jdbc.init("com.mysql.cj.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)
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.cj.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)
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.cj.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)
logd(qur);
jdbc.connectionClose()
}
main();
jdbc.query 查询数据
- 查询数据
- @param sql sql语句
- @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.cj.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)
logd(qur);
jdbc.connectionClose()
}
main();
jdbc.createPreparedStatement 创建一个预处理SQL语
- 创建一个预处理SQL语句
- @param sql 预处理语句
- @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.cj.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)
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)
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.cj.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)
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)
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.cj.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)
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)
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.psqlSetLong 设置long条件参数
- 预处理语句设置long条件参数
- @param index 条件索引
- @param input long数据
- @return
{bool}
true 代表成功 false 代表失败
function main() {
jdbc.psqlSetLong(1, 1000);
}
main();
jdbc.psqlSetInt 设置int条件参数
- @param index 条件索引
- @param input int数据
- @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.cj.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)
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)
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.psqlSetFloat 设置float条件参数
- 预处理语句设置float条件参数
- @param index 条件索引
- @param input float数据
- @return
{bool}
true 代表成功 false 代表失败
function main() {
jdbc.psqlSetFloat(1, 1.0)
}
main();
jdbc.psqlSetBoolean 设置boolean条件参数
- 设置boolean条件参数
- @param index 条件索引
- @param input boolean数据
- @return
{bool}
true 代表成功 false 代表失败
function main() {
jdbc.psqlSetBoolean(1, true)
}
main();
jdbc.psqlSetDate 设置日期条件参数
- 预处理语句设置日期条件参数
- @param index 条件索引
- @param dataFormat 日期格式,例如 yyyy-MM-dd
- @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.cj.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)
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)
if (qur) {
//设置第一个索引的参数
jdbc.psqlSetString(1, "我是名称")
//设置第二个索引参数
jdbc.psqlSetString(2, '我是内容')
//设置日期
jdbc.psqlSetDate(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.psqlSetTimestamp 设置时间戳条件参数
- 预处理语句设置时间戳条件参数
- @param index 条件索引
- @param dataFormat 日期格式,例如 yyyy-MM-dd
- @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.cj.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)
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)
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.psqlClose()
jdbc.connectionClose()
}
main();
jdbc.psqlAddBatch 批量提交
- 是否设定为批量提交
- @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.cj.jdbc.Driver", mysqlUrl, "root", "root123456");
logd("inited " + inited);
let conn = jdbc.connect()
logd("connect " + conn);
if (!conn) {
logd(jdbc.getLastError());
exit()
}
//插入数据
let q = "insert table1(`uname`,`ucontent`,`create_time`)values(?,?,?);"
let qur = jdbc.createPreparedStatement(q)
if (qur) {
for (var i = 0; i < 10; i++) {
//设置第一个索引的参数
jdbc.psqlSetString(1, "我是名称")
//设置第二个索引参数
jdbc.psqlSetString(2, '我是内容')
//设置时间戳
jdbc.psqlSetTimestamp(3, "yyyy-MM-dd hh:mm:ss", "2020-10-02 12:02:11")
r = jdbc.psqlAddBatch()
if (!r) {
logd(jdbc.getLastError());
}
}
}
rowcount = jdbc.psqlExecuteUpdate();
logi("插入语句执行影响行数 -" + rowcount);
if (rowcount <= 0) {
loge("插入错误: " + jdbc.getLastError())
}
jdbc.psqlClose()
jdbc.connectionClose()
}
main();
jdbc.psqlExecuteUpdate 执行更新操作
- 执行更新操作
- @return
{int}
更新影响到行数量
function main() {
//mysql 的地址 ip:端口/数据库名
let mysqlUrl = "jdbc:mysql://192.168.0.3:3306/test?characterEncoding=utf8&autoReconnect=true"
let inited = jdbc.init("com.mysql.cj.jdbc.Driver", mysqlUrl, "root", "root123456");
logd("inited " + inited);
let conn = jdbc.connect()
logd("connect " + conn);
if (!conn) {
logd(jdbc.getLastError());
exit()
}
//更新数据
let q = "update table1 set uname=?,ucontent=?,create_time=? where id=?;"
let qur = jdbc.createPreparedStatement(q)
if (qur) {
//设置第一个索引的参数
jdbc.psqlSetString(1, "我是名称")
//设置第二个索引参数
jdbc.psqlSetString(2, '我是内容')
//设置时间戳
jdbc.psqlSetTimestamp(3, "yyyy-MM-dd hh:mm:ss", "2020-10-02 12:02:11")
//设置id
jdbc.psqlSetInt(4, 1)
}
let rowcount = jdbc.psqlExecuteUpdate();
logi("插入语句执行影响行数 -" + rowcount);
if (rowcount <= 0) {
loge("插入错误: " + jdbc.getLastError())
}
//插入数据
q = "insert table1(`uname`,`ucontent`,`create_time`)values(?,?,?);"
qur = jdbc.createPreparedStatement(q)
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.psqlClose()
jdbc.connectionClose()
}
main();
jdbc.psqlClose 结束预处理语句
- 结束预处理语句
- @return
{bool}
true 代表成功 false 代表失败
function main() {
jdbc.psqlClose()
}
main();
jdbc.connectionClose 关闭数据库链接
- 关闭数据库链接
- @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.cj.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)
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)
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.psqlClose()
jdbc.connectionClose()
}
main();