Jdbc数据库
# 说明
jdbc模块函数主要是用于操作MYSQL或者ORACLE等数据库
jdbc模块的对象前缀是jdbc,例如 jdbc.init()这样调用
## jdbc.init()
初始化JDBC链接
@param jdbcDriver JDBC得驱动,mysql填写: com.mysql.jdbc.Driver
@param dbUrl JDBC链接得URL,例如 jdbcmysql//{ip}:{port}/{db}?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
@param user 数据库用户名
@param password 数据库密码
@return {bool} true 代表成功 false 代表失败
```js
function main(){
//mysql 的地址
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());
}
//查询语句
let q = "Select * from table1 where id=1"
let qur = jdbc.query(q)
logd(qur);
jdbc.connectionClose()
}
main();
```
## jdbc.getLastError()
获取最近的错误
@return {string} 错误字符串,null 代表没错误
```js
function main(){
//mysql 的地址
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());
}
//查询语句
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 代表失败
```js
function main(){
//mysql 的地址
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());
}
//查询语句
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 | 数据集合对象
```js
function main(){
//mysql 的地址
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());
}
//查询语句
let q = "select * from table1 where id=1"
let qur = jdbc.query(q)
logd(qur);
jdbc.connectionClose()
}
main();
```
## jdbc.createPreparedStatement()
创建一个预处理SQL语句
@param sql 预处理语句
@return {bool} true 代表成功 false 代表失败
```js
function main(){
//mysql 的地址
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());
}
//查询语句
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字符串
```js
function main(){
//mysql 的地址
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());
}
//查询语句
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 代表失败
```js
function main(){
//mysql 的地址
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());
}
//查询语句
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条件参数
@param index 条件索引
@param input long数据
@return {bool} true 代表成功 false 代表失败
```js
function main(){
jdbc.psqlSetLong(1,1000);
}
main();
```
## jdbc.psqlSetInt
设置int条件参数
@param index 条件索引
@param input int数据
@return {bool} true 代表成功 false 代表失败
```js
function main(){
//mysql 的地址
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());
}
//查询语句
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 代表失败
```js
function main(){
jdbc.psqlSetFloat(1,1.0)
}
main();
```
## jdbc.psqlSetBoolean 设置boolean条件参数
设置boolean条件参数
@param index 条件索引
@param input boolean数据
@return {bool} true 代表成功 false 代表失败
```js
function main(){
jdbc.psqlSetBoolean(1,true)
}
main();
```
## jdbc.psqlSetDate()
预处理语句设置日期条件参数
@param index 条件索引
@param dataFormat 日期格式,例如 yyyy-MM-dd
@param input 日期字符串
@return {bool} true 代表成功 false 代表失败
```js
function main(){
//mysql 的地址
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());
}
//查询语句
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 代表失败
```js
function main(){
//mysql 的地址
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());
}
//查询语句
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 代表失败
```js
function main(){
//mysql 的地址
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());
}
//插入数据
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} 更新影响到行数量
```js
function main(){
//mysql 的地址
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());
}
//查询语句
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.psqlClose()
结束预处理语句
@return {bool} true 代表成功 false 代表失败
```js
function main(){
jdbc.psqlClose()
}
main();
```
## jdbc.connectionClose()
关闭数据库链接
@return {bool} true 代表成功 false 代表失败
```js
function main(){
//mysql 的地址
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());
}
//查询语句
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();
```