Java数据库连接——PreparedStatement的使用
首先了解Statement和PreparedStatement的区别:

由此可见,一般使用PreparedStatement。
操作数据库SU(Course表),其中Course属性有Cno,Cname,Cpno,Ccredit。
public class Demo_2 {
public static void main(String[] args) {
PreparedStatement ps=null;
ResultSet rs=null;
Connection ct=null;
try {
//1.加载驱动
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//2.得到连接
ct=DriverManager.getConnection("jdbc:odbc:mytest");
//3.创建PreparedStatement
ps=ct.prepareStatement("select * from Course where Cno=? and Cpno=?");
ps.setString(1,"3"); //给第一个问号赋值
ps.setInt(2,1);
rs=ps.executeQuery();
while(rs.next()){
String Cno=rs.getString(1);
String Cname=rs.getString(2);
int Cpno=rs.getInt(3);
int Ccredit=rs.getInt(4);
System.out.println(Cno+" "+Cname+" "+Cpno+" "+Ccredit);
}
//使用 PreparedStatement添加一条记录
// ps=ct.prepareStatement("insert into Course values(?,?,?,?)");
// ps.setString(1, "8");
// ps.setString(2, "C++");
// ps.setInt(3, 3);
// ps.setInt(4, 2);
// //执行
// int i=ps.executeUpdate();
// if(i==1){
// System.out.print("添加成功");
// }else{
// System.out.print("添加不成功");
// }
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
if(rs!=null){
rs.close();
}
if(ps!=null){
ps.close();
}
if(ct!=null){
ct.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
运行程序,控制台输出符合条件的数据。
最后总结如下:
* PreparedStatement 使用crud
* 1. PreparedStatement可以提高执行的效率(因为它有预编译的功能)
* 2. PreparedStatement可以防止sql注入,但是要求?赋值的方式才可以。
Java数据库连接——PreparedStatement的使用的更多相关文章
- java.sql.preparedstatement和java.sql.statement的区别
本文转自CSDN,然后整理了一遍.原文出处:CSDN JDBC(java database connectivity,java数据库连接)的api中的主要的四个类之一的java.sql.stateme ...
- Java数据库——PreparedStatement接口
PreparedStatement接口是Statement的子接口,属于预处理操作,与直接使用Statement不同的是,PreparedStatement在操作时,是先在数据表中准备好了一条SQL语 ...
- Java数据库连接——JDBC基础知识(操作数据库:增删改查)
一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...
- java 数据库连接池 Oracle版
首先应加入连接池和数据库连接的配置文件:数据库连接包:ojdbc6.jar数据库连接池包:commons-pool2-2.2.jar commons-dbc ...
- java数据库连接池dbcp的使用
近年来,随着Internet/Intranet建网技术的飞速发展和在世界范围内的迅速普及,计算机 应用程序已从传统的桌面应用转到Web应用.基于B/S(Browser/Server)架构的3层开发模式 ...
- java数据库连接类,已经把数据库操作的方法都封装好了
在这里分享一个已经封装好了的java数据库连接类,只要创建对象就可以实现数据库的增删改查操作,用过都说好.其实这个不是我自己写的,是一个理解和学习能力超高的朋友写的,他也很乐于分享交流,本人也深受他的 ...
- Java数据库连接--JDBC基础知识(操作数据库:增删改查)
一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...
- Java数据库连接--JDBC调用存储过程,事务管理和高级应用
相关链接:Jdbc调用存储过程 一.JDBC常用的API深入详解及存储过程的调用 1.存储过程的介绍 我们常用的操作数据库语言SQL语句在执行的时候要先进行编译,然后执行,而存储过程是在大型数据库系统 ...
- JDBC(Java Data Base Connectivity,java数据库连接)
JDBC概述 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言 ...
随机推荐
- caffe遇到的错误记录
Caffe——一个多么方便的深度学习工具,为啥安装和使用起来的bug这么多呢!把痛苦的记忆记录下来,把希望留给后人. Caffe的万丈高楼(Net)是按照我们的设计图纸(prototxt),用Blob ...
- 洛谷P3358 最长k可重区间集问题(费用流)
题目描述 对于给定的开区间集合 I 和正整数 k,计算开区间集合 I 的最长 k可重区间集的长度. 输入输出格式 输入格式: 的第 1 行有 2 个正整数 n和 k,分别表示开区间的个数和开区间的可重 ...
- 编码介绍(ANSI、GBK、GB2312、UTF-8、GB18030和 UNICODE)
转载:http://blog.jobbole.com/30526/(前面内容)和http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf ...
- ZBrush中Tool工具的保存
ZBrush软件的界面及操作方法与其他的三维软件完全不同,很多初学者常常会觉得有些困难,接下来我们就讲解一下ZBrush®最为基础的操作-Tool工具的保存. 首先要明白什么是Tool工具?我们创建的 ...
- BZOJ3529: [Sdoi2014]数表 莫比乌斯反演_树状数组
Code: #include <cstdio> #include <algorithm> #include <cstring> #define ll long lo ...
- CentOS 7最小安装配置网络
安装环境: VMware Workstation14 centos 7.5.1804 最小化安装 安装过程: 在系统安装成功后进行网络配置,我这里采用的是动态ip配置.首先得知道网络配置存放的目录: ...
- WebAssembly学习(二):Windows10下WebAssembly C/C++编译环境的搭建与Hello World尝试
首先,不论是在Windows.Linux还是Mac上,Webassembly的编译都是主要依赖于Emscripten SDK这个工具的.但是,在这里必须要吐槽一下,不论是WebAssembly官网.W ...
- S5PV210 三个Camera Interface/CAMIF/FIMC的区别
S5PV210有三个CAMIF单元,分别为CAMIF0 CAMIF1和CAMIF2.对应着驱动中的fimc0, fimc1, fimc2.在三星datasheet和驱动代码中CAMIF和FIMC(Fu ...
- webpack中关于require与import的区别
1.require常见使用场景: var path = require('path') var utils = require('./utils') 此时webpack会将path/utils/con ...
- [转]Python常用字符串
转自:http://blog.csdn.net/daemonpei/article/details/6325762 字符串相关操作: + :string1+string2 #联接字符串,将后一个串链接 ...