数据库SQL Server2012笔记(八)——Statement与PreparedStatement的区别,JDBC方式操作数据库
来源:互联网 发布:云熙拆单软件正版价格 编辑:程序博客网 时间:2024/05/15 08:40
1、Statement与PreparedStatement的区别
1)都可用于 把sql语句从java程序中发送到制定数据库,并执行sql语句。
2)区别
- 直接使用Statement,驱动程序一般不会对sql语句做处理,而直接交给数据库。
- 使用PreparedStatement,形成预编译的过程,并且会对语句做字符集的转换(至少在sql server中如此)。好处:对于多次重复执行的语句,PreparedStatement效率更高,适合批量(batch),且解决系统的本地化问题。
- PreparedStatement可有效防止危险字符的注入,即sql注入问题。但要求用“?”赋值方式才可以。"?"可解决注入漏洞问题
- ps=ct.PreparedStatement("select * from dept where deptno=? and loc=?");
- ps.setInt(1,20);
- ps.setString(2,"dallas");
2、JDBC方式操作数据
1)定义对象
- PreparedStatement ps=null;
- Connection ct=null;
- ResultSet rs=null;
2)初始化
- 加载驱动
- Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
- 得到连接
- ct=DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;database=数据库名","用户名","密码")
- 127.0.0.1表示要连接的数据库的IP,此处表示本地
- 1433表示sqlserver的默认端口(一共65535个端口)
- oracle:1521,mysql:3306
- 创建火箭车
- ps=ct.PreparedStatement("Select * from emp");
- 执行
- rs=ps.executeQuery();
- rs=ps.executeUpdate();
- 循环读取
- while(rs.next()){ }
- rs指向结果集的第一条的前一条,一定要rs.next()一下。
- 如果取值按编号取,则需要一一对应。
- 如果取值按猎命去,则顺序灵活。
3、作业相关问题
1)job<>'manager':不等于
2)oracle中有一个可以获得每个月的最后一天的方法
3)sql server:DATEDIFF(datapart,startpart,endpart)
4)upper len substring
以首字母大写的方式显示员工姓名
select upper(substring(ename,1,1))+lower(substring(ename,2,len(ename))) from emp
5)len(字段名):字段长度
6)显示所有员工姓名的前三个字符
select substring(ename,1,3) from emp
7)replace(字段,‘被替代’,‘替换’)
8)datepart(年/月/日...,字段名)
0 0
- 数据库SQL Server2012笔记(八)——Statement与PreparedStatement的区别,JDBC方式操作数据库
- 数据库JDBC查询,PreparedStatement与Statement的区别
- JDBC中操作数据库的三个对象:Statement;PreparedStatement;CallableStatement
- JDBC基础(二) 利用Statement/PreparedStatement 操作数据库
- JDBC 笔记4 PreparedStatement 与Statement 的区别
- JDBC中Statement与PreparedStatement的区别
- JDBC中Statement与PreparedStatement的区别
- JDBC中Statement与PreparedStatement的区别
- JDBC中Statement与PreparedStatement的区别
- JDBC 4 PreparedStatement 与Statement 的区别
- JDBC PreparedStatement 与Statement 的区别
- JDBC之statement与preparedstatement的区别
- 数据库SQL Server2012笔记(七)——java 程序操作sql server
- 数据库-------Statement和preparedStatement的区别
- 数据库SQL Server2012笔记(一)——简要介绍
- java操作数据库---Statement对象和preparedStatement对象的区别(二)
- JDBC连接数据库 and PreparedStatement和Statement区别
- jdbc连接数据库Sql Server2012
- 关于SVN 目录结构
- Struts2入门示例
- [leetcode-225]Implement Stack using Queues(c++)
- Maven仓库—Nexus环境搭建及简单介绍
- 简析list.add() 和list.addAll()
- 数据库SQL Server2012笔记(八)——Statement与PreparedStatement的区别,JDBC方式操作数据库
- 微博关系服务与Redis的故事
- 机房收费总结篇
- Android onActivityResult()不执行的几个原因
- JavaScript中BOOLEAN类型之三种情景代码举例
- python装饰器和闭包
- 主xib文件加载另一个xib文件
- Android端调用c#端的webservice——复杂数据类型传递
- 静电方面几个术语