通过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. Tuple元组 C#

    使用元组, 一些简单的结构或对象就不需要新建一个类了. https://msdn.microsoft.com/zh-cn/library/system.tuple.aspx

  2. HttpClient调用api

    /// <summary> /// 模拟调用API /// </summary> /// <param requestUrl="">请求地址&l ...

  3. testNG java.net.SocketException: Software caused connection abort: socket write error

    执行用例报错,提示 java.net.SocketException: Software caused connection abort: socket write error java.net.So ...

  4. 设计一个程序能够将某一个目录下面的所有文件名打印出来---File类的使用

    ,设计一个程序能够将某一个目录下面的所有文件名打印出来 运用到的方法有:返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录:list()           测试此抽象路径名表示的 ...

  5. 高效使用 Python 可视化工具 Matplotlib

    Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型的2D图表和一些基本的3D图表.本文主要介绍了在学习Matplotlib时面临的一些挑战,为什么要使用Matplo ...

  6. mongodb菜鸟整理 2 C#Driver使用

    一下载 从官网上下载... 二 引用 下载完了将其解压到某个文件夹内,打开vs建立一个工程 右键引用,找到刚才解压的目录,把里面说有的dll文件全部添加就好 三 命名空间 我都是先打然后alt+shi ...

  7. 【NOIP2014】子矩阵

    这题如果按暴力做只有一半分,最大时间复杂度为O(C(16,8)*C(16,8)); 很容易算出超时: 我们可以发现如果直接dp会很难想,但是知道选哪几行去dp就很好写状态转移方程: dp[i][j]= ...

  8. python学习总结(面向对象进阶)

    -------------------类属性和实例属性关系------------------- 1.类属性和实例属性关系     1.实例属性         实例对象独有的属性     2.类属性 ...

  9. oracle得到日期对应的星期

    详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp56   select to_char(sysdate,'ww') fro ...

  10. 解决MVC模式文件下载附件中文名称乱码

    解决如下: 进行url编码:Server.UrlPathEncode(file.AttachmentName) return File(file.TempWorkPath, CommonTools.G ...