在Java中 Connection、Statement、ResultSet 、PreparedSta
在Java中Connection、Statement、ResultSet、PreparedStatement各是什么意思?Statement和PreparedStatem...
在Java中 Connection、Statement、ResultSet 、PreparedStatement各是什么意思?Statement和PreparedStatement的区别是什么?两者各在什么情况下使用?
展开
展开全部
Connection是建立与数据库的链接,Statement算是一个连接的实例,用来执行SQL语句,ResultSet是查询后得到的结果集,得到结果后必须执行.next()方法
给你个我刚写的例子,区别很好理解的,我一般都用Statement,这是第一次用PreraredStatement 只不过是在后面赋值而已
public class Test {
public static void main(String[] args){
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=LIBRARY";
String userName = "sa";
String userPwd = "";
Connection dbConn;
Statement stmt;
PreparedStatement ps;
try {
Class.forName(driverName);
dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
stmt = dbConn.createStatement();
ResultSet rs1 = stmt.executeQuery("select *from borrow where uno = 2011111276");
System.out.println("statement:");
while (rs1.next()) {
System.out.println(rs1.getString(1)+" "+ rs1.getString(2));
}
ps = dbConn.prepareStatement("select *from borrow where uno = ?");
//注意这句
ps.setString(1, "2011111276");
ResultSet rs2 = ps.executeQuery();
System.out.println("preparedstatement:");
while (rs2.next()) {
System.out.println(rs2.getString(1)+" "+ rs2.getString(2));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
展开全部
接口 Connection
与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。
接口 Statement
用于执行静态 SQL 语句并返回它所生成结果的对象。
接口 ResultSet
表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。
接口 PreparedStatement
表示预编译的 SQL 语句的对象。
Statement和PreparedStatement的区别和使用情况给你一个连接吧:http://www.cnblogs.com/raymond19840709/archive/2008/10/13/1309657.html
这篇文章写的还不错!
希望能帮到你。
与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。
接口 Statement
用于执行静态 SQL 语句并返回它所生成结果的对象。
接口 ResultSet
表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。
接口 PreparedStatement
表示预编译的 SQL 语句的对象。
Statement和PreparedStatement的区别和使用情况给你一个连接吧:http://www.cnblogs.com/raymond19840709/archive/2008/10/13/1309657.html
这篇文章写的还不错!
希望能帮到你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Connection是数据库连接,对数据库的任何操作都需要先建立数据库连接,Statement是在已建立数据库连接conn的情况下向数据库发送执行不带参数的sql语句,是一个对象。ResultSet
是结果集对象,例如ResultSet rs = st.executeQuery(sql),查询的结果集返回并保存在rs结果集中。PreparedStatement是预处理sql执行对象。比如:
perstmt = con.prepareStatement("insert into tb_name (col1,col2,col2,col4) values (?,?,?,?)");
perstmt.setString(1,var1);
perstmt.setString(2,var2);
perstmt.setString(3,var3);
perstmt.setString(4,var4);
perstmt.executeUpdate();
它是先将sqL语句预编译,我们只需要想预编译的sql中传入参数即可。从个方便考虑来说,熟练后我们最好全部使用paredStatement而不用Statement。
是结果集对象,例如ResultSet rs = st.executeQuery(sql),查询的结果集返回并保存在rs结果集中。PreparedStatement是预处理sql执行对象。比如:
perstmt = con.prepareStatement("insert into tb_name (col1,col2,col2,col4) values (?,?,?,?)");
perstmt.setString(1,var1);
perstmt.setString(2,var2);
perstmt.setString(3,var3);
perstmt.setString(4,var4);
perstmt.executeUpdate();
它是先将sqL语句预编译,我们只需要想预编译的sql中传入参数即可。从个方便考虑来说,熟练后我们最好全部使用paredStatement而不用Statement。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-08-01 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
Connection指数据库连接,只有连接数据库成功后才可以操作数据库
Statement和PreparedStatement:声明语句,封装SQL语句并执行更新或查询功能
ResultSet指查询结果集合,可以循环获取查询结果
Statement和PreparedStatement的区别:Statement指针对一些简单的SQL语句,不带参数,直接执行,而PreparedStatement在封装SQL时可以在SQL语句中配置参数(使用?),然后通过PreparedStatement的setString等方法设置这些参数,然后执行SQL语句。
使用情况主要看你的SQL语句是否带参数了。
Statement和PreparedStatement:声明语句,封装SQL语句并执行更新或查询功能
ResultSet指查询结果集合,可以循环获取查询结果
Statement和PreparedStatement的区别:Statement指针对一些简单的SQL语句,不带参数,直接执行,而PreparedStatement在封装SQL时可以在SQL语句中配置参数(使用?),然后通过PreparedStatement的setString等方法设置这些参数,然后执行SQL语句。
使用情况主要看你的SQL语句是否带参数了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Connection指数据库连接,只有连接数据库成功后才可以操作数据库
Statement和PreparedStatement:声明语句,封装SQL语句并执行更新或查询功能
ResultSet指查询结果集合,可以循环获取查询结果
Statement和PreparedStatement的区别:Statement指针对一些简单的SQL语句,不带参数,直接执行,而PreparedStatement在封装SQL时可以在SQL语句中配置参数(使用?),然后通过PreparedStatement的setString等方法设置这些参数,然后执行SQL语句。
使用情况主要看你的SQL语句是否带参数了。
Statement和PreparedStatement:声明语句,封装SQL语句并执行更新或查询功能
ResultSet指查询结果集合,可以循环获取查询结果
Statement和PreparedStatement的区别:Statement指针对一些简单的SQL语句,不带参数,直接执行,而PreparedStatement在封装SQL时可以在SQL语句中配置参数(使用?),然后通过PreparedStatement的setString等方法设置这些参数,然后执行SQL语句。
使用情况主要看你的SQL语句是否带参数了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询