JDBC进阶之PreparedStatement执行SQL语句(MySQL)
PreparedStatement 对象中。然后可以使用此对象多次高效地执行该语句。
- package com.serein.jdbc;
- import java.sql.*;
- public class preparedStatemetTest {
- public static void main(String[] args) {
- //检查命令行中是否够7个参数
- if(args.length != 7) {
- System.out.println("Parameter Error! Please Input Again!");
- System.exit(-1);
- }
- //程序获取运行栈里的7个参数值
- String name = args[0];
- int age = 0;
- try {
- age = Integer.parseInt(args[1]);
- } catch (NumberFormatException e) {
- System.out.println("Parameter Error! Age should be Number Format!");
- System.exit(-1);
- }
- String sex = args[2];
- String address = args[3];
- String depart = args[4];
- int worklen = 0;
- try {
- worklen = Integer.parseInt(args[5]);
- } catch (NumberFormatException e) {
- System.out.println("Parameter Error! Worklen should be Number Format!");
- System.exit(-1);
- }
- int wage = 0;
- try {
- wage = Integer.parseInt(args[6]);
- } catch (NumberFormatException e) {
- System.out.println("Parameter Error! Wage should be Number Format!");
- System.exit(-1);
- }
- //创建PreparedStatement对象
- PreparedStatement pstmt = null;
- //创建连接对象
- Connection conn = null;
- //连接数据库,并插入数据
- try {
- //加载MySQL驱动实例,提供了两种方法,是等价的
- Class.forName("com.mysql.jdbc.Driver");
- //new oracle.jdbc.driver.OracleDriver();
- //建立连接
- conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/myuser", "root", "root");
- //使用PreparedStatement对象里来构建并执行SQL语句,7个问号代表7个字段预先要保留的值
- pstmt = conn.prepareStatement("INSERT INTO staff(name, age, sex,address, depart, worklen,wage) VALUES (?, ?, ?, ?, ?, ?, ?)");
- //通过PreparedStatement对象里的set方法去设置插入的具体数值
- pstmt.setString(1, name);
- pstmt.setInt(2, age);
- pstmt.setString(3, sex);
- pstmt.setString(4,address );
- pstmt.setString(5, depart);
- pstmt.setInt(6, worklen);
- pstmt.setInt(7, wage);
- pstmt.executeUpdate();
- //插入成功提示
- System.out.print("成功插入一条数据记录!");
- //捕获驱动加载失败异常
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- //捕获SQL语句执行失败异常
- } catch (SQLException e) {
- e.printStackTrace();
- //恢复变量初始值
- } finally {
- try {
- if(pstmt != null) {
- pstmt.close();
- pstmt = null;
- }
- if(conn != null) {
- conn.close();
- conn = null;
- }
- //捕获SQL异常
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- }
编写好代码之后,要进行带参数运行程序,方法如下:

25
M
Guangzhou
Engine
3
5000
查看Console控制台,"成功插入一条数据记录!":

查看MySQL数据库,进行确认:

成功完成!
转自:http://blog.csdn.net/cxwen78/article/details/6868941
JDBC进阶之PreparedStatement执行SQL语句(MySQL)的更多相关文章
- 使用预处理PreparedStatement执行Sql语句
/** * 使用预处理的方式执行Sql * @param sql Sql语句 * @param obj 变量值数组 * @return 查询结果 * @throws SQLException */ p ...
- 使用PreparedStatement执行SQL语句时占位符(?)的用法
1.Student数据库表 ID name gender 2.Java代码 public static void main(String[] args) { int _id=1; Str ...
- 用jdbc连接数据库并简单执行SQL语句
一:版本一.这种存在一个问题就是每执行一次操作都会创建一次Connection链接和且释放一次链接 1:创建pojo对象(OR映射,一个pojo类对应一张数据库表) package com.yin ...
- JDBC中执行SQL语句的方式
一.执行DDL.DML语句 DDL.DML分别表示数据库定义语言.数据库操纵语言,操控这两种语言应该使用Statement对象的executeUpdate方法. 代码如下: public static ...
- 不登录到MySQL执行SQL语句
mysql -e 不登录到MySQL执行SQL语句 mysql -u root -p -e "SHOW DATABASES"
- 三种执行SQL语句的的JAVA代码
问题描述: 连接数据库,执行SQL语句是必不可少的,下面给出了三种执行不通SQL语句的方法. 1.简单的Statement执行SQL语句.有SQL注入,一般不使用. public static voi ...
- [疯狂Java]JDBC:PreparedStatement预编译执行SQL语句
1. SQL语句的执行过程——Statement直接执行的弊病: 1) SQL语句和编程语言一样,仅仅就会普通的文本字符串,首先数据库引擎无法识别这种文本字符串,而底层的CPU更不理解这些文本字符串( ...
- JDBC连接MYSQL,批量执行SQL语句或在执行一个SQL语句之前执行一个SQL语句
conn = MysqlJdbcUtils.getConnection(); Statement ps=conn.createStatement(); ps.addBatch("trunca ...
- 10.1(java学习笔记)JDBC基本操作(连接,执行SQL语句,获取结果集)
一.JDBC JDBC的全称是java database connection java数据库连接. 在java中需要对数据库进行一系列的操作,这时就需要使用JDBC. sun公司制定了关于数据库操作 ...
随机推荐
- html-注册邮箱
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 【LOJ】#2041. 「SHOI2015」聚变反应炉
题解 这显然是一道题拆成两道 然后我胡乱分析了一波,决定第一题就用点度贪心(反正散播的能量肯定能被使用),然后过了 第二题开始mengbier 设\(f_u\)表示第u个点在父亲发动之后才发动的最小价 ...
- 基于 Laravel 开发博客应用系列 —— 设置 Windows 本地开发环境
1.安装原生PHP 下载/解压 PHP 到 PHP 下载页下载最新版本的 PHP(如果使用 Laravel 5.1 的话需要 PHP 5.5.9+ 版本),解压下载的zip格式压缩文件到本地目录,比如 ...
- 14个你可能不知道的JavaScript调试技巧
调试JS的时候,搜索一下这个标题
- linux网络管理----远程登录工具
1.对称加密 例子:压缩文件加密码,别人要打开,只能知道你的密码,这样的方法不安全,因为这个密码可能是你的qq密码或者是邮箱密码等等 2.非对称加密 类似于放羽毛球的桶,两边都可以拿资源,两边都加一个 ...
- DSP已经英雄迟暮了吗?FPGA才是未来的大杀器?
DSP技术,在某些人看来,或者已经面临着英雄迟暮的感觉,就我们当前所知道的.Freesacle.ADI.NXP早就停掉了新技术发展,而当前从大的方面说只剩下TI一家扛着Digital Si ...
- Windows 修改电脑属性(二)
一.秀出自我风格的屏幕保护画面 1.气泡屏幕保护 打开电脑,按开始键,点击运行输入regedit按回车键进入注册表界面,找到如下路径:HKEY_CURRENT_USER/Software/Micros ...
- Linux-看完这篇Linux基本的操作就会了(转)
前言 只有光头才能变强 这个学期开了Linux的课程了,授课的老师也是比较负责任的一位.总的来说也算是比较系统地学习了一下Linux了~~~ 本文章主要是总结Linux的基础操作以及一些简单的概念~如 ...
- JQuery的源码阅读
探索原理,animation实现,一个对象可以同时绑定多个事件,这是如何实现的? (function(window, undefined) { function jQuery(selector){ r ...
- HAproxy 代理技术原理探究
HAproxy 技术分享 简介 HAProxy是一款提供高可用性.负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件 Features 1.免费 2.能够做到4层以上代理 3.高性能 ...