数据库表的大致结构如图:
创建表语句:
注意:id值一定要设置为自增!!(auto_increment)
1.首先创建Book的类,用于封装图书信息
package firs; 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; } }
2.创建index11.jsp页面,它是程序中的主页,用于放置添加图书信息所需要的表单,该表单提交到AddBook.jsp页面进行处理。完整代码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>添加图书信息</title> </head> <body> <form action="AddBook.jsp" method="post" onsubmit="return check(this);"> <table align="center" width="450"> <tr> <td align="center" colspan="2"> <h2>添加图书信息</h2> <hr> </td> </tr> <tr> <td align="right">图书名称:</td> <td><input type="text" name="name"/></td> </tr> <tr> <td align="right">价 格:</td> <td><input type="text" name="price"/></td> </tr> <tr> <td align="right">数 量:</td> <td><input type="text" name="bookCount"/></td> </tr> <tr> <td align="right">作 者:</td> <td><input type="text" name="author"/></td> </tr> <tr> <td align="center" colspan="2"> <input type="submit" value="添 加"/> </td> </tr> </table> </form> </body> </html>
3.创建AddBook.jsp页面,用于对添加图书信息请求进行处理,该页面通过JDBC所提交的图书信息数据写入数据库中。完整代码:
<%@page import="java.sql.*" %> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%request.setCharacterEncoding("UTF-8"); //若要输入中文,必须带有该句,不然会出现乱码 %> <jsp:useBean id="book" class="firs.Book"></jsp:useBean> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>处理页面</title> </head> <body> <jsp:setProperty property="*" name="book"/><!-- 对Book类中的所有属性进行赋值 --> <% try{ Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动,注册到驱动管理器 String url="jdbc:mysql://localhost:3306/text";//数据库连接字符串 String usename="root";//数据库用户名 String passward="yj5211";//数据库密码 Connection conn=DriverManager.getConnection(url,usename,passward);//创建Connection连接 String sql="insert into tb_book(name,price,bookCount,author) values(?,?,?,?)"; PreparedStatement ps=conn.prepareStatement(sql); ps.setString(1, book.getname());//给SQL语句中第一个参数赋值 ps.setDouble(2, book.getprice());//给SQL语句中第二个参数赋值 ps.setInt(3, book.getbookCount());//给SQL语句中第三个参数赋值 ps.setString(4, book.getauthor());//给SQL语句中第四个参数赋值 int row=ps.executeUpdate();//执行更新操作,返回所影响的行数 if(row>0){ out.print("添加了"+row+"条数据!");//更新成功输出信息 } ps.close();//关闭PreparedStatement,释放资源 conn.close();//关闭Connection,释放资源 }catch(Exception e){ out.print("图书信息添加失败!"); e.printStackTrace(); } %> <br> <a href="index11.jsp">返回</a> </body> </html>
注意!!!!:jsp在导入jar包时和java不一样,直接将对应的jar包复制在
WebContent–>WEB–INF–>lib目录下就OK(本人亲测),如图:
运行实例如图:
运行程序后在MYSQL中查询表如下: