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(年/月/日...,字段名)

转载于:https://www.cnblogs.com/huhewei/p/6750027.html

数据库SQL Server2012笔记(八)——Statement与PreparedStatement的区别,JDBC方式操作数据库...相关推荐

  1. 数据库SQL Server2012笔记(二)——表的管理

    1.表名和列的命名规则 1)必须字母.下划线开头 2)长度不能超过128个字符 3)不要使用sql server 保留字 4)只能使用字符:A~Z,a~z,0~9,$,#,_等. 2.常用编码 1)U ...

  2. Statement与PreparedStatement的区别

    Statement与PreparedStatement的区别 PreparedStatement预编译SQL语句,性能好. PreparedStatement无序拼接SQL语句,编程更简单. Prep ...

  3. 浅析Statement和PreparedStatement的区别

    当我们使用java程序来操作sql server时会使用到Statement和PreparedStatement,俩者都可以用于把sql语句从java程序中发送到指定数据库,并执行sql语句.那么如何 ...

  4. uniCloud云函数中通过传统方式操作数据库的-增删改查

    云函数 可以看做java或者php,作为后端服务 cloudfunctions/myCloud/index.js exports.main = async (event, context) => ...

  5. 数据库SQL Server2012下载链接与安装教程

    建议大家使用Visual Studio 2019,QQ群310338309里面有离线版本,安装比较快 1):下载SQL Server2012下载链接 链接:https://pan.baidu.com/ ...

  6. JDBC中Statement与PreparedStatement的区别

    http://www.blogjava.net/redcoatjk/archive/2012/07/20/383583.html 1. statement每次执行sql语句,相关数据库都要执行sql语 ...

  7. java Statement与preparedStatement的区别

    1.数据库执行preparedStatement的时候会预编译,下次再执行此sql语句的时候,数据库端将不会再进行预编译了,而直接去数据库的缓存区,提高访问的效率. 2.在任何时候都不要使用State ...

  8. Statement和PreparedStatement的区别及联系

    两者之间的联系: Statement和PreparedStatement两者都是用来执行SQL查询语句的API之一 PreparedStatement接口继承了Statement接口 两者之间的区别: ...

  9. Statement和PreparedStatement的区别/PreparedStatement和Statement比较的优点

    Statement 和 PreparedStatement之间的关系和区别.     关系:PreparedStatement继承自Statement,都是接口     区别:PreparedStat ...

最新文章

  1. office2003/2007/2010版本降低宏安全设置方法
  2. 3星|《掌控大趋势》:全球当前政治经济形式的资料汇编整理,对未来的预测很少,也缺乏独到深刻的见解...
  3. python条形图间距-python matplotlib做对比条形图
  4. 【Linux 线程】同一个进程中的线程共享哪些资源
  5. 02 docker的基本用法
  6. 算法太多挑花眼?教你如何选择正确的机器学习算法
  7. 推荐系统-基于矩阵分解的LFM模型
  8. 字符串相似度算法——Levenshtein Distance算法
  9. Javascript基础之-Promise
  10. codeforces G - Almost Increasing Array 动态规划、动态开点线段树
  11. WhoIsOnline ;) - 解读CNForum源码中在线用户统计
  12. 三菱plc pwm指令_常用PLC各系列简介大全,选型必看!
  13. 155款安卓开源项目源码整理+20个Android必备第三方框架
  14. 微信小程序开发工具下载及AppID查找
  15. SECS协议基础知识
  16. 图片复印如何去除黑底_如何去除扫描件的底色? 扫描的图片去除背面的阴影的方法...
  17. (Codeforces800Div2)B. Paranoid String(思维/动态规划)
  18. 一文解析App推广神器deeplink(深度链接)
  19. 巴什博奕(Bash Game)入门
  20. luna没有 Server 论坛积分哪里弄啊?我想下载32位kepler的。

热门文章

  1. openlayers 加载高德底图
  2. 一图读懂开源协议_一张经典图,开源协议比较
  3. 西门子plc200 c语言转换,s7-200程序转换成s7-1200方法
  4. bearer token_四,接口认证方式:Bearer Token
  5. element元素 取属性_JS-DOM Element方法和属性
  6. Eclipse的.properties文件输出中文成unicode编码
  7. mysql id自动增长_MySQL中的6种约束,你掌握了几种?
  8. animate改变背景颜色_3D MAX2016视口背景设置里各参数的含义详解 - 3dmax基础操作入门教程-3dmax材质教程,3d材质贴图教程参数,vray材质参数,3dmax贴图教程...
  9. securerandom java_Java 随机数 Random VS SecureRandom
  10. 标记偏置 隐马尔科夫 最大熵马尔科夫 HMM MEMM