JDBC 参数化的方法

Posted zhenyu1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC 参数化的方法相关的知识,希望对你有一定的参考价值。

java vuser   JDBC 参数化的方法

如果不进行参数化 直接把30  31行去掉 ,sql 值写到valuers  中就行了

下面这是 insert 插入语句  (增删改)都是这个模板

注:数据库增删改 都是 第34行  int rows = ps.executeUpdate();            Update()方法,本来就都是Update操作

 

步骤:
1.注册驱动
2.通过用户名,密码,数据库url等信息,获取jdbc链接Connection
3.通过jdbc链接,对sql语句进行预编译,得到PreparedStatement
4.对sql语句进行传参数
5.执行sql语句
6.获取数据
    insert、update、delete返回的是操作的是数据行数
    Select返回的ResultSet对象,可以获取对应的列值
7.关闭链接
   非空的情况下,关闭Connection
   非空的情况下,关闭PreparedStatement

  

 

 1 package cn.testfan.ptest;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.PreparedStatement;
 6 
 7 public class JdbcTest {
 8     // 定义全局变量
 9     String username = "root";
10     String password = "123456";
11     String url = "jdbc:mysql://localhost:3306/oa?useUnicode=true&characterEncoding=utf8";
12     //delete 或者 update 只要换sql语句就好了
13     String sql = "insert into itcast_role (name, description) values (?,?)";
14     PreparedStatement ps;
15     Connection conn;
16     public int init() throws Throwable {
17         //1、注册mysql驱动
18         Class.forName("com.mysql.jdbc.Driver");
19         //2、通过url、用户名、密码建立mysql连接,返回一个Connection对象
20         conn = DriverManager.getConnection(url, username, password);
21         //3、对sql进行预编译,返回一个已经编译过的sql对象PreparedStatement
22         ps = conn.prepareStatement(sql);
23         return 0;
24     }//end of init
25 
26 
27     public int action() throws Throwable {
28         //这是参数化的方法
29         //4.执行sql语句前,先对sql中不确定的数据进行赋值
30         ps.setString(1,"经理");
31         ps.setString(2,"管理");
32         
33         //5、执行sql语句,返回受影响的行数
34         int rows = ps.executeUpdate();
35         System.out.println("受影响的行数:"+rows);
36         return 0;
37     }//end of action
38 
39 
40     public int end() throws Throwable {
41         //6、关闭mysql连接
42         conn.close();
43         return 0;
44     }//end of end
45 
46     public static void main(String[] args) throws Throwable {
47         // 模拟LR执行脚本
48         JdbcTest test = new JdbcTest();
49         test.init();
50         test.action();
51         test.end();
52     }
53 }

 

以上是关于JDBC 参数化的方法的主要内容,如果未能解决你的问题,请参考以下文章

方便调试使用的代码片段

SQL预编译中order by后为什么不能参数化原因

JDBC

JDBC

JDBC

部分代码片段