JavaWeb的数据库操作:通过JDBC连接MySQL数据库实现图书信息添加功能

本文介绍JavaWeb中利用JDBC进行数据库操作的方法,包括数据库驱动注册、连接URL构建、Connection对象获取等步骤,并通过实例展示了如何实现图书信息的添加功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaWeb的数据库操作


JDBC[Java数据库连接:Java Data Base Connectivity]连接数据局的过程:
1、注册数据库驱动:
连接数据库前,需要将数据库厂商提供的数据库驱动类注册到JDBC的驱动管理中。
Class.forName("com.mysql.jdbc.Driver");
2、构建数据库连接URL[统一资源定位器:Uniform Resource Locator]:
要建立数据库连接,就要构建数据库连接的URL(这个URL有数据库厂商制定,不同的数据库它的URL也有所区别)
都符号一个URL的基本格式,即"JDBC协议+IP地址或域名+端口号+数据库名称"
如MySQL数据库的URL:"jdbc:mysql://localhost:3306/test"。
3、获取Connection对象
在注册了数据库驱动及构建数据库URL后,就可以通过驱动管理程序获取数据库的连接Connection。
Connection对象是JDBC封装的数据库连接对象,获取方法如下:
Connection conn=DriverManager.getConnection(url,username,password);
说明:1、Connection对象的获取需要用到DriverManager对象,DriverManager的
getConnection()方法通过数据库连接URL、数据库用户名及数据库密码创建Connection对象。
 2、在JDK中,不包含数据库的驱动程序,使用JDBC操作数据库,需要事先下载
数据库厂商提供的驱动包。MySQL官方提供的数据库驱动包(放置到项目的lib文件夹下),
其名称为:mysql-connectior-java-5.1.10-bin.jar。
 3、Connection连接;Driver驱动程序;Manager管理


 
关键代码:
    

  try{
   Class.forName("com.mysql.jdbc.Driver");  //加载数据库渠道,注册到驱动管理器
   String url="jdbc:mysql://localhost:3306/test"; //数据库连接字符串
   String username="root";   //数据库用户名
   String password="123456";  //数据库密码
   Connection conn=DriverManager.getConnection(url,username,password); //创建connection连接
   if(conn!=null){     //判断数据库连接是否为空
    out.println("数据库连接成功!");//输出连接信息
    conn.close();    //关闭数据库连接
   }else{
    out.println("数据库连接失败!");
   }
  }catch(ClassNotFoundException e){
   e.printStackTrace();
  }catch(SQLException e){
   e.printStackTrace();
  }
 
 
//Java Web从入门到精通。 例10.3  通过JDBC连接MySQL数据库实现图书信息添加功能 
1、新建MySql数据库名Books,表名tb_books:
USE `books`;
DROP TABLE IF EXISTS `tb_books`;
CREATE TABLE `tb_books` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID编号',
  `NAME` varchar(45) NOT NULL COMMENT '图书名称',
  `price` double NOT NULL COMMENT '价格',
  `bookCount` int(11) NOT NULL COMMENT '数量',
  `author` varchar(45) NOT NULL COMMENT '作者',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
 
2、创建Book_10_3.java文件,用于封装图书对象信息。
package com.jdbc.cn;
public class Book_10_3 {
 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;
 }
}
3、创建10.3-index.jsp页面,它是程序中的主页,用于放置添加图书信息所需要的表单,该表单提交到10.3-AddBook.jsp页面进行处理。
//Java Web从入门到精通。 例10.3(3)  通过JDBC连接MySQL数据库实现图书信息添加功能 ( P214)
script type="text/javascript"
 function check(form){
  with(form){
   if(name.value==""){
    alert("图书名称不能为空!");
    return false;
   }
   if(price.value==""){
    alert("价格不能为空!");
    return false;
   }
   if(bookCount.value==""){
    alert("数量不能为空!");
    return false;
   }
   if(author.value==""){
    alert("作者不能为空!");
    return false;
   }
  }
 }
/script
  < align="center" width="450" border="0">

4、创建10.3-AddBook.jsp页面,用于对添加图书信息请求进行处理,该页面通过JDBC所提交的图书信息数据写入数据库中。
//Java Web从入门到精通。 例10.3(4)  通过JDBC连接MySQL数据库实现图书信息添加功能 ( P214)

 try{
  Class.forName("com.mysql.jdbc.Driver");   //加载数据库驱动,注册到驱动管理器
  String url="jdbc:mysql://localhost:3306/books"; //数据库连接字符串
  String username="root";       //数据库用户名
  String password="123456";      //数据库密码
  Connection conn=DriverManager.getConnection(url,username,password); //创建Connection连接
  if(conn!=null){     //判断数据库连接是否为空
   out.println("数据库连接成功!");//输出连接信息
   //conn.close();    //关闭数据库连接
  }else{
   out.println("数据库连接失败!");
  }
  String sql="insert into tb_books(name,price,bookCount,author) values(?,?,?,?)"; //添加图书信息的SQL语句
  PreparedStatement ps=conn.prepareStatement(sql); //获取PreparedStatement
  ps.setString(1, book.getName());   //对SQL语句中的第1个参数赋值
  ps.setDouble(2, book.getPrice());   //对SQL语句中的第2个参数赋值
  ps.setInt(3, book.getBookCount());   //对SQL语句中的第3个参数赋值
  ps.setString(4, book.getAuthor());   //对SQL语句中的第4个参数赋值
  int row = ps.executeUpdate();    //执行更新操作,返回所影响的行数
  if(row>0){         //判断是否更新成功
   out.print("成功添加了"+row+"条数据!");  //输出更新成功信息
  }
  ps.close();         //关闭PreparedStatement,释放资源
  conn.close();        //关闭Connection,释放资源
 }catch(Exception e){
  out.print("图书信息添加失败!");
  e.printStackTrace();
 }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值