JDBC操作数据库之连接数据库
通过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操作数据库之连接数据库的更多相关文章
- 用于JDBC操作数据库的公共类
/* * @(#)CommonSql.java 2011-9-5 * * Copyright 2011 Bianjing,All rights reserved. */ import java.sql ...
- Java笔记(第七篇 JDBC操作数据库)
JDBC是连接数据库和java程序的桥梁,通过JDBC API可以方便地实现对各种主流数据库的操作.学习java语言,必须学习JDBC技术,因为JDBC技术实在java语言中被广泛使用的一种操作数据库 ...
- JDBC操作数据库的学习(2)
在上一篇博客<JDBC操作数据库的学习(1)>中通过对例1,我们已经学习了一个Java应用如何在程序中通过JDBC操作数据库的步骤流程,当然我们也说过这样的例子是无法在实际开发中使用的,本 ...
- JDBC操作数据库的学习(1)
单单对数据库的操作,比如说MySQL,我们可以在命令行窗口中执行,但是一般是应用程序要操作数据库,因此我们应该在程序中的代码上体现对数据库的操作,那么使用程序应用如何操作数据库呢?那就要使用到数据库的 ...
- JDBC操作数据库的三种方式比较
JDBC(java Database Connectivity)java数据库连接,是一种用于执行上sql语句的javaAPI,可以为多种关系型数据库提供统一访问接口.我们项目中经常用到的MySQL. ...
- Spark Streaming通过JDBC操作数据库
本文记录了学习使用Spark Streaming通过JDBC操作数据库的过程,源数据从Kafka中读取. Kafka从0.10版本提供了一种新的消费者API,和0.8不同,因此Spark Stream ...
- JDBC操作数据库的基本步骤:
JDBC操作数据库的基本步骤: 1)加载(注册)数据库驱动(到JVM). 2)建立(获取)数据库连接. 3)创建(获取)数据库操作对象. 4)定义操作的SQL语句. 5)执行数据库操作. 6)获取并操 ...
- springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验--异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档---jpa访问数据库及page进行分页---整合redis---定时任务
springboot学习-jdbc操作数据库--yml注意事项--controller接受参数以及参数校验-- 异常统一管理以及aop的使用---整合mybatis---swagger2构建api文档 ...
- Spring入门(十五):使用Spring JDBC操作数据库
在本系列的之前博客中,我们从没有讲解过操作数据库的方法,但是在实际的工作中,几乎所有的系统都离不开数据的持久化,所以掌握操作数据库的使用方法就非常重要. 在Spring中,操作数据库有很多种方法,我们 ...
随机推荐
- JavaScript 中的相等性判断
摘自:MDN https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Equality_comparisons_and_sameness: Ja ...
- win下安装Redmine常见错误解决方案
成长型公司,最近需要项目管理的软件,所以在windows的服务器上搭建了redmine,其中也遇到了两个坑,现记录下来. Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的 ...
- 【Eclipse】给web项目打war包
项目右键->export->war file -> Destination ->finish 第二步 保存
- Vim 命令图解-Gvim使用笔记
Vim 命令图解-Gvim使用笔记... 参考的网址:http://blog.vgod.tw/wp-content/uploads/2014/08/vgod-vim-cheat-sheet-full. ...
- Oozie调用Spark实例
oozie调用spark有三样是必须有的: workflow.xml(不可改名) , job.properties(可改名) , jar包(自备). 1.workflow.xml workflow.x ...
- snowflake主键生成策略
1.snowflake简介 在分布式系统中,我们需要各种各样的ID,既然是ID那么必然是要保证全局唯一,除此之外,不同当业务还需要不同的特性,比如像并发巨大的业务要求ID生成效率高,吞吐大:比如某些银 ...
- github+hexo搭建自己的博客网站(四)主题之外的一些基本配置(统计配置,网站访问量显示)
1.百度.谷歌统计配置 百度统计配置 申请账号:https://tongji.baidu.com/web/welcome/login 在代码获取的地方只要填入key即可 注册的时候,填的域名和url, ...
- Tomcat会话保持之session server
author:JevonWei 版权声明:原创作品 Tomcat会话保持之session server 拓扑图 环境 tomcatA 172.16.253.108 tomcatB 172.16.253 ...
- 我的项目经验总结——CDN镜像:1(初探)
前言 其实,这个标题有些大,作为一个小白,只是在实际工作中经常听闻我司的CDN服务如何如何牛B……而且我司的云服务还拿到了工信部的CDN牌照……那么,作为一个研发仔,怎么能不去了解和熟悉呢?!不过,这 ...
- JQuery的动态加载class无法实现点击时间的解决方案
//对于 加载过来class 的del_a 实现点击事情 $(document).on('click',".del_a",function(){ $(".mark_id& ...