通过JDBC向数据库中添加数据的时候,使用insert语句实现数据的插入,再SQL语句中的参数可以用占位符“?”来替代,然后通过PreparedStatement对象或者Statement对象对其赋值并执行SQL。

下面分别对PreparedStatement接口和Statement接口插入数据方法做代码实现:其中PreparedStatementTest类中是用PreparedStatement接口中的方法来实现数据库数据插入的;StatementTest类中是用Statement接口中的excuteUpdate(sql)方法实现数据库数据插入。

 public class Book{
//编号
private int id;
//图书名称
private String name;
//价格
private double price;
//数量
private int bookCount;
//作者
private String author; public int getId() {
return id;
} public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getBookCount() {
return bookCount;
}
public void setBookCount(int bookCount) {
this.bookCount = bookCount;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
}
/****方法一:通过PreparedStatement接口中的方法插入数据*****/
public class PreparedStatementTest{
Book book = new Book();
//加载数据库驱动,注册到驱动管理器
Class.forName("com.mysql.jdbc.Driver");
//数据库连接字符串
String url = "jdbc:mysql://localhost:3306/Test";
//数据库用户名
String username = "root";
//数据库连接密码
String password = "123";
//创建Connection连接
Connection conn = (Connection)DriverManager.getConnection(url,username,password);
//插入图书信息的SQL语句
String sql = "insert into bookTable(name,price,bookCount,author) value(?,?,?,?);";
//获取PreparedStatement
PreparedStatement ps = conn.prepareStatement(sql);
//对SQL语句中的第1个参数赋值
ps.setString(1, book.getName());
//对SQL语句中的第2个参数赋值
ps.setDouble(2,book.getPrice());
//对SQL语句中的第3个参数赋值
ps.setInt(3, book.getBookCount());
//对SQL语句中的第4个参数赋值
ps.setString(4, book.getAuthor());
//执行更新操作,返回所影响的行数
int row = ps.executeUpdate();
//判断是否更新成功
if(row > 0){
out.print("添加成功"+row+"条数据");
}
//关闭PreparedStatement,释放资源
ps.close();
//关闭Connection释放资源
conn.close(); } /*方法二:通过Statement接口中的executeUpdate(sql)方法插入数据*/
public class StatementTest{
Book book = new Book();
//加载数据库驱动,注册到驱动管理器
Class.forName("com.mysql.jdbc.Driver");
//数据库连接字符串
String url = "jdbc:mysql://localhost:3306/Test";
//数据库用户名
String username = "root";
//数据库连接密码
String password = "123";
//创建Connection连接
Connection conn = (Connection)DriverManager.getConnection(url,username,password);
//插入图书信息SQL语句
String sql="insert into bookTable(name,price,bookCount,author) value("+book.getName()+","+book.getPrice()+","+book.getBookCount()+","+book.getAuthor()+")";
//获取Statement接口对象
Statement stat = conn.createStatement();
//调用Statement接口中的excuteUpdate(sql)方法,执行SQL语句插入数据
stat.executeUpdate(date); //关闭Statement接口对象
if(stat != null){
stat.close();
}
//关闭Connection接口对象
if(conn != null){
conn.close();
}
}

---恢复内容结束---

JDBC操作数据库之连接数据库的更多相关文章

  1. 用于JDBC操作数据库的公共类

    /* * @(#)CommonSql.java 2011-9-5 * * Copyright 2011 Bianjing,All rights reserved. */ import java.sql ...

  2. Java笔记(第七篇 JDBC操作数据库)

    JDBC是连接数据库和java程序的桥梁,通过JDBC API可以方便地实现对各种主流数据库的操作.学习java语言,必须学习JDBC技术,因为JDBC技术实在java语言中被广泛使用的一种操作数据库 ...

  3. JDBC操作数据库的学习(2)

    在上一篇博客<JDBC操作数据库的学习(1)>中通过对例1,我们已经学习了一个Java应用如何在程序中通过JDBC操作数据库的步骤流程,当然我们也说过这样的例子是无法在实际开发中使用的,本 ...

  4. JDBC操作数据库的学习(1)

    单单对数据库的操作,比如说MySQL,我们可以在命令行窗口中执行,但是一般是应用程序要操作数据库,因此我们应该在程序中的代码上体现对数据库的操作,那么使用程序应用如何操作数据库呢?那就要使用到数据库的 ...

  5. JDBC操作数据库的三种方式比较

    JDBC(java Database Connectivity)java数据库连接,是一种用于执行上sql语句的javaAPI,可以为多种关系型数据库提供统一访问接口.我们项目中经常用到的MySQL. ...

  6. Spark Streaming通过JDBC操作数据库

    本文记录了学习使用Spark Streaming通过JDBC操作数据库的过程,源数据从Kafka中读取. Kafka从0.10版本提供了一种新的消费者API,和0.8不同,因此Spark Stream ...

  7. JDBC操作数据库的基本步骤:

    JDBC操作数据库的基本步骤: 1)加载(注册)数据库驱动(到JVM). 2)建立(获取)数据库连接. 3)创建(获取)数据库操作对象. 4)定义操作的SQL语句. 5)执行数据库操作. 6)获取并操 ...

  8. springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验--异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档---jpa访问数据库及page进行分页---整合redis---定时任务

    springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验-- 异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档 ...

  9. Spring入门(十五):使用Spring JDBC操作数据库

    在本系列的之前博客中,我们从没有讲解过操作数据库的方法,但是在实际的工作中,几乎所有的系统都离不开数据的持久化,所以掌握操作数据库的使用方法就非常重要. 在Spring中,操作数据库有很多种方法,我们 ...

随机推荐

  1. position属性absolute和relative理解

    relative:相对于自身静态位置进行定位,不脱离流. absolute:绝对定位,脱离流,如果父元素定义了position属性,无论是absolute.relative还是fixed,都是相对于父 ...

  2. shell解析命令行的过程以及eval命令

    本文说明的是一条linux命令在执行时大致要经过哪些过程?以及这些过程的大致顺序. 1.1 shell解析命令行 shell读取和执行命令时的大致操作过程如下图: 以执行以下命令为例: echo -e ...

  3. jenkins 多选框

    背景jenkins自带的参数化不支持多选框,不过有插件支持:Extended Choice Parameter Plug-In插件地址: https://plugins.jenkins.io/exte ...

  4. JS中的函数、BOM和DOM操作

     一.JS中的函数 [关于注释] /** [文档注释]:开头两个*.写在函数上方,在调用函数时可以看到文档上方的描述信息. */   // 单行注释 /* 多行注释 */ 1.函数的声明及调用 (1) ...

  5. 【Shell Basic】source . 与 bash sh 的区别

    一.在命令行窗口执行shell脚本时,source .所执行的脚本中,变量的作用域在当前shell窗口期,而bash.sh在shell脚本执行完了就失效了. dream361@master:~$ ca ...

  6. oracle内存优化

    一直都想总结一下oracle内存调整方面的知识,最近正好优化一个数据库内存参数,查找一些资料并且google很多下.现在记录下来,做下备份.         一.概述:                ...

  7. win10 永久激活 命令行方式

    现在我们可以看下当前系统的激活状态,查看方法"WIN+R"打开运行对话框,输入命令slmgr.vbs -xpr,点击确定,这样可以查看到当前系统的激活信息.大家可以发现,虽然小编系 ...

  8. asp.net mvc 接入最新支付宝支付+退款 alipay-sdk-NET-20170615110549

    第1步: https://openhome.alipay.com/developmentDocument.htm 第2步:下载sdk和demo https://docs.open.alipay.com ...

  9. 传参时Url中有中文报错

    url中如果传了中文,浏览器会报错:The header content contains invalid characters. 原因:浏览器自动把这个url进行decodeURIComponent ...

  10. [读书笔记] 三、搭建基于Spring boot的JavaWeb项目

    一.POM <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3. ...