1.通过jdbc请求往数据库中插入数据,
举例:
create table student(
snumber int(11) NOT NULL,
sname VARCHAR(32) NOT NULL,
sage int(11) NOT NULL,
ssex VARCHAR(8) NOT NULL,
PRIMARY KEY (snumber)
);
执行SQL为:
insert into loan.student (snumber,sname,sage,ssex) values (2,‘yuanyuan‘,18,‘女‘) ;
jdbc请求:
SQL Query
Query Type:
1、Select Statement:需要填写的sq|是一句完整可执行的sql,select查询;常用!
2、Update statement:对于Insert、Update、 Delete语句,需要设置此选项数据修改语句中可以使用参数,而且可以顺序执行多个修改语句。常用!
3、Callable statement:多个查询语句(不使用参数的情况下)可以放在一起按照顺序执行,
(1)需要设置Query Type为Callable Statement, 然后顺序输入select语句, 需要加分号分割开。
select * from student where snumber=2;
select * from student;
(2)如果Query Type设置为: Select Statement的话,只执行第一个SQL语句。
理解:怪不得我写了2个sql,但是只执行第一个sql。
select * from student where snumber=2;
select * from student;
4、Prepared select statement:
5、Prepared update statement:
6、Commit: 把JDBC connection configuration中的自动提交为false,执行更改,增加或删除操作后,查询数据并无更改,
再添加一个JDBC Request,设置其QueryType为commit,再次查询,之前的操作生效。
7、Rollback: 把JDBC connection configuration中的自动提交为false,执行更改,增加或删除操作后,查询数据并无更改(相当于编辑没保存),
再添加一个JDBC Request,设置其QueryType为rollback(相当于编辑后撤销),再次查询,仍然没有更改。
如果把JDBC connection configuration中的自动提交为true,执行更改,增加或删除操作后,查询数据更改,但一旦事物被提交就无法rollback。
8、Autocommit(false)
9、Autocommit(true):把JDBC connection configuration中的自动提交为true或false,设置系统参数的默认值。
添加个JDBC Request,设置其Query Type Autocommit为true或false后(相当于修改系统参数),再进行对数据库的增加、删除、修改操作。
10、Edit (编辑) :必须是对上述之一的结果的引用,为使用正则表达式的操作。
【6-10是与事务的隔离级别有关系,平常用不到,暂时不需要管!!!】
参数:
1、Parameter values:表示我们要添加的数据,需要不同数据添加可以使用参数化,比如我们写的SQL里面有个值是要通过csv data的参数化,比如ID参数化为1 2 3 4 5 6,保存变量为uu_id
那么我们在执行SQL的时候就需要用到参数化的uu_id,因为这里的Parameter values我们需要填写为uu_id
2、Parameter types为上面需要输入数据的类型,与上面的一一对应,即为uu_id参数的数据类型。
3、Variable names: 变量名称,为数据库的字段名称,有多个字段返回时,可以使用逗号隔开,用于存放select操作返回的查询结果。比如id,name,father_name,
4、Result variable name :用于存放select操作返回的查询结果集。
5、Query timeout (s) :超时时间
6、Handle ResultSet:在程序代码中,SQL语句执行结果后获取到结果集,一般都会进行处理,结果集的处理就需要依赖ResultSetHandler接口和其实现类。作用是将ResultSet转换为其他对象的类型
说明
Parameter values和Parameter types:成对出现,且sq|语 句中有多少个? 这里就必须有多少对参数键值对,假设sq|语句为select * from ZMYW_ USER where ID=?,那么可以设置Parameter values为${id},Parameter types为VARCHAR。
这里还涉及到应该使用哪种类型?
具体例子见:
1.如果Query Type选择select statement, 在写SQL的时候需要写成:
select * from student where snumber=${Id}; 即该地方需要直接使用变量名的方式,该地方的变量名就是参数化csv data中的variable names的Id)
2.如果Query Type选择Prepared Select Statement, 在写SQL的时候:
snumber后面的参数化形式可以直接用?, 然后在Parametervalues中写上参数的名字$ {Id}
3.如果Query Type选择update statement, 在写SQL的时候需要写成:
update student set cc=XXXX where snumber=${Id}; 即该地方需要直接使用变量名的方式,该地方的变量名就是参数化csv data中的variable names的Id)
4.如果Query Type选择Prepared Upate Statement, 在写SQL的时候:
snumber后面的参数化形式可以直接用?, 然后在Parametervalues中写上参数的名字$ {Id}
insert into loan.student (snumber,sname,sage,ssex) values (6,‘yuanyuan‘,18,‘女‘)
${snumber} ‘${name}‘ ${sage} ‘${ssex}‘
这几个变量可以放在用户定义的变量
也可以放在csv data参数化文件中
insert into loan.student (snumber,sname,sage,ssex) values (${snumber},‘${name}‘,${sage},‘${ssex}‘)
因为jdbc设置了
如果想执行多条语句可以使用(allowMutiQueries=true表示在JDBC中执行多条Select或者update类型的语句)
jdbc:mysql://ip:3306/数据库名?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true
jdbc:mysql://{ip}:{port}/{dbname}?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true
所以可以放多条sql语句
原文:https://www.cnblogs.com/yiyaxuan/p/12367848.html