版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hju22/article/details/87395103
文章目录
一、数据表
-- 创建数据库
create database book;
use book;
-- 创建图书信息表
create table bookinfo(
book_id int primary key auto_increment,
book_name varchar(20) not null,
price float(6,2) not null,
public_date date not null,
store int not null
);
-- 插入图书数据
insert into bookinfo(book_name,price,public_date,store) values('Android权威指南',58.8,'2016-02-01',3);
insert into bookinfo(book_name,price,public_date,store) values('linux私房菜',76.5,'2015-09-21',10);
insert into bookinfo(book_name,price,public_date,store) values('Java编程思想',110,'2008-05-30',12);
insert into bookinfo(book_name,price,public_date,store) values('JavaScript DOM 编程艺术',49.0,'2016-02-01',4);
insert into bookinfo(book_name,price,public_date,store) values('英语常用口语100句',28,'2002-04-25',6);
二、项目结构
创建一个javaweb项目,其中导入jdbc驱动包mysql-connector-java-5.1.47.jar。
JDBC.java用来写主程序
三、JDBC操作步骤
1、项目中导入jdbc驱动jar包
2、注册jdbc驱动
3、获取数据库连接
4、操作数据库
(1)增删改操作,用executeUpdate(sql)方法,返回值是操作的行数
(2)查询操作,用executeQuery(sql)方法,返回值是结果集,对结果集处理后可以拿到每列的数据
四、代码
JDBC.java
package net.jdbc.test;
import java.math.BigDecimal;
import java.sql.*;
public class JDBC {
//数据库url、用户名和密码
static final String DB_URL="jdbc:mysql://localhost:3306/book?";
static final String USER="root";
static final String PASS="root123";
public static void main(String[] args) {
try {
//1、注册JDBC驱动
Class.forName("com.mysql.jdbc.Driver");
//2、获取数据库连接
Connection connection = DriverManager.getConnection(DB_URL, USER, PASS);
//3、操作数据库
Statement statement = connection.createStatement();//获取操作数据库的对象
String insertSql="insert into bookinfo(book_name,price,public_date,store) values('tushu',33,'2018-3-23',4)";
String deleteSql="delete from bookinfo where store=3";
String updateSql="update bookinfo set book_name='linux私房菜新名字' where book_name='linux私房菜'";
String selectSql="select * from bookinfo";
int insertNnum=statement.executeUpdate(insertSql);
int deleteNum=statement.executeUpdate(deleteSql);
int updateNum=statement.executeUpdate(updateSql);
ResultSet resultSet = statement.executeQuery(selectSql);//执行查询sql,获取结果集
System.out.println("插入操作影响的行:"+insertNnum+"行");
System.out.println("删除操作影响的行:"+deleteNum+"行");
System.out.println("更新操作影响的行:"+updateNum+"行");
while(resultSet.next()){ //遍历结果集,取出数据
int book_id = resultSet.getInt("book_id");
String book_name = resultSet.getString("book_name");
BigDecimal price = resultSet.getBigDecimal("price");
Date public_date = resultSet.getDate("public_date");
String store = resultSet.getString("store");
//输出数据
System.out.print("图书编号:"+book_id);
System.out.print(",图书名称:"+book_name);
System.out.print(",价格"+price);
System.out.print(",出版日期"+public_date);
System.out.print(",库存"+store);
System.out.println();
}
//4、关闭结果集、数据库操作对象、数据库连接
resultSet.close();
statement.close();
connection.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch(SQLException e){
e.printStackTrace();
} catch(Exception e){
e.printStackTrace();
}
}
}