临沂新闻网

首页 > 正文

JDBC的通用查询的方法

www.nk7x.cn2019-08-31

前锋JAVA发展学院我想昨天分享

PreparedStatement的

1.为什么

1):使用Statement需要拼写SQL语句,这非常困难且容易出错。

2):使用Statement可以进行SQL注入。

SQl注入:

SQL注入是使用某些系统来完全检查用户输入的数据

将非法SQL语句或命令注入用户输入数据以充分利用系统的SQL引擎来完成恶意行为

对于Java,要防止SQL注入,只需将Statement替换为PrepareStatement

即可

String username=a'OR PASSWORD=;

字符串密码=OR'1'='1;

String sql=SELECT * FROM users WHERE username='

+用户名。+'和

+口令='+ passwoed +';

的System.out.println(SQL);

SELECT * FROM users WHERE username='a'OR PASSWORD='AND password='OR'1'='1'

2.什么

1):是Statement的子接口。

2):可以传递带占位符的SQL语句,并提供补充占位符变量的方法

3.How

1):创建PreparedStatement

字符串SQL=INSERT INTO考试成绩(??);

PrepareStatement ps=conn.prepareStatement(sql);

2):调用PreparedStatement的setXxx(int index,Object val)来设置占位符的值index,从1开始

3):执行SQL语句executeUpdate或executeQuery

ResultSetMetaData的

1.为什么:如果只有一个结果集,但我不知道结果集中有多少列,那么这些列的名称是什么?

1):需要编写通用查询方法。

publicTget(Classclazz,String sql.Object . args)

2.用于描述ResultSet的对象

3.How

1):获取ResultSetMetaData对象,调用ResultSet的getMetaData方法

ResultSetMetaData rsmd=resultSet.getMetaData;

2): ResultSetMetaData;

的有用方法是什么?

Int getColumnCount;结果集中的列数

String getColumnLabel(int column);获取指定列的列名,索引从1开始,

而(resultSet.next){

For(int i=0; irsmd.getcolumncount; i ++){p=

String columnLable=rsmd.getColumnLabel(i + 1);

}

}

收集报告投诉

PreparedStatement的

1.为什么

1):使用Statement需要拼写SQL语句,这非常困难且容易出错。

2):使用Statement可以进行SQL注入。

SQl注入:

SQL注入是使用某些系统来完全检查用户输入的数据

将非法SQL语句或命令注入用户输入数据以充分利用系统的SQL引擎来完成恶意行为

对于Java,要防止SQL注入,只需将Statement替换为PrepareStatement

即可

String username=a'OR PASSWORD=;

字符串密码=OR'1'='1;

String sql=SELECT * FROM users WHERE username='

+用户名。+'和

+口令='+ passwoed +';

的System.out.println(SQL);

SELECT * FROM users WHERE username='a'OR PASSWORD='AND password='OR'1'='1'

2.什么

1):是Statement的子接口。

2):可以传递带占位符的SQL语句,并提供补充占位符变量的方法

3.How

1):创建PreparedStatement

字符串SQL=INSERT INTO考试成绩(??);

PrepareStatement ps=conn.prepareStatement(sql);

2):调用PreparedStatement的setXxx(int index,Object val)来设置占位符的值index,从1开始

3):执行SQL语句executeUpdate或executeQuery

ResultSetMetaData的

1.为什么:如果只有一个结果集,但我不知道结果集中有多少列,那么这些列的名称是什么?

1):需要编写通用查询方法。

publicTget(Classclazz,String sql.Object . args)

2.用于描述ResultSet的对象

3.How

1):获取ResultSetMetaData对象,调用ResultSet的getMetaData方法

ResultSetMetaData rsmd=resultSet.getMetaData;

2): ResultSetMetaData;

的有用方法是什么?

Int getColumnCount;结果集中的列数

String getColumnLabel(int column);获取指定列的列名,索引从1开始,

而(resultSet.next){

For(int i=0; irsmd.getcolumncount; i ++){p=

String columnLable=rsmd.getColumnLabel(i + 1);

}

热门浏览
热门排行榜
热门标签
日期归档