JSP连接数据库,坎坷摸索了好久,现在终于做好了,分享一下,希望对更多热爱编程学习的人有所帮助!!!谢谢
第一:首先准备的就是已经安装好Mysql,这里不做多叙述,百度可以做到。
然后在mysql数据库中做如下操作:
需要注意的是自己创建的数据库的名字,和数据表的名字,这两个和后面写的程序息息相关,所以必须引起重视
第二步:就可以开始写程序了。
首先是Book类,这里最需要注意的是起的包名,真的很重要,真的很重要,真的很重要,重要的事情说三遍
1 package com.ningmeng; 2 3 /** 4 * 1:book类用于封装图书对象信息 5 * @author biexiansheng 6 * 7 */ 8 public class Book { 9 10 private int id;//编号 11 private String name;//图书名称 12 private double price;//价格 13 private int bookCount;//数量 14 private String author;//作者 15 public int getId() { 16 return id; 17 } 18 public void setId(int id) { 19 this.id = id; 20 } 21 public String getName() { 22 return name; 23 } 24 public void setName(String name) { 25 this.name = name; 26 } 27 public double getPrice() { 28 return price; 29 } 30 public void setPrice(double price) { 31 this.price = price; 32 } 33 public int getBookCount() { 34 return bookCount; 35 } 36 public void setBookCount(int bookCount) { 37 this.bookCount = bookCount; 38 } 39 public String getAuthor() { 40 return author; 41 } 42 public void setAuthor(String author) { 43 this.author = author; 44 } 45 46 }
然后,就是index.jsp页面,这是主界面。这点没啥重点,都是基础的。
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <html> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 6 <title>Insert title here</title> 7 </head> 8 <body> 9 <form action="AddBook.jsp" method="post" onsubmit="return check(this);"> 10 <table align="center" width="450"> 11 <tr> 12 <td align="center" colspan="2"> 13 <h2>添加图书信息</h2> 14 <hr> 15 </td> 16 </tr> 17 <tr> 18 <td align="right">图书名称:</td> 19 <td><input type="text" name="name"/></td> 20 </tr> 21 <tr> 22 <td align="right">价格:</td> 23 <td><input type="text" name="price"/></td> 24 </tr> 25 <tr> 26 <td align="right">数量:</td> 27 <td><input type="text" name="bookCount"/></td> 28 </tr> 29 <tr> 30 <td align="right">作者:</td> 31 <td><input type="text" name="author"/></td> 32 </tr> 33 <tr> 34 <td align="center" colspan="2"> 35 <input type="submit" value="添加"> 36 </td> 37 </tr> 38 </table> 39 </form> 40 </body> 41 </html>
最后,就是逻辑代码的程序,注意的重点很多很多
第一:一定要把包到对了,不然一直报错,真的很头疼的一件事情。
第二:<jsp:useBean id="book" class="com.ningmeng.Book"></jsp:useBean>这点就是前面强调的,class="自己的包名和上面定义的类名";
第三:String url="jdbc:mysql://localhost:3306/test";//数据库连接字符串,这点是这个test是自己创建的数据表的名字,一定要写对了。
第四:int row=ps.executeUpdate();//执行更新操作,返回所影响的行数,不然数据不能写入到数据库
然后就没啥然后了,一切大功告成。
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!-- 导入的三个包真的很重要,切记不要忘记 --> 4 <%@page import="java.sql.DriverManager"%> 5 <%@page import="java.sql.Connection"%> 6 <%@page import="java.sql.PreparedStatement" %> 7 8 <!-- 解决中文乱码的问题 --> 9 <%request.setCharacterEncoding("UTF-8"); %> 10 <!-- 实例化javabean对象的Book类 --> 11 <jsp:useBean id="book" class="com.ningmeng.Book"></jsp:useBean> 12 <!-- 自动匹配同名称属性的元素 --> 13 <jsp:setProperty property="*" name="book"/> 14 15 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 16 <html> 17 <head> 18 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 19 <title>Insert title here</title> 20 </head> 21 <body> 22 <% 23 try{ 24 Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动,注册到驱动管理器 25 out.print("加载数据库驱动成功!!!"+"<br/>"); 26 String url="jdbc:mysql://localhost:3306/test";//数据库连接字符串 27 String name="root";// 28 String password="123456"; 29 Connection conn=DriverManager.getConnection(url,name,password); 30 //创建connection连接, 31 out.print("创建connection连接成功!!!"+"<br/>"); 32 String sql="insert into tb_books(name,price,bookCount,author) values(?,?,?,?)"; 33 //添加图书信息的sql语句 34 PreparedStatement ps=conn.prepareStatement(sql); 35 //获取PreparedStatement 36 ps.setString(1,book.getName());//对sql语句中的第1个参数赋值 37 ps.setDouble(2,book.getPrice());//对sql语句中的第2个参数赋值 38 ps.setInt(3,book.getBookCount());//对sql语句中的第3个参数赋值 39 ps.setString(4,book.getAuthor());//对sql语句中的第4个参数赋值 40 int row=ps.executeUpdate();//执行更新操作,返回所影响的行数 41 if(row>0){ 42 out.print("成功添加了 "+row+" 条数据!!!"); 43 } 44 ps.close(); 45 conn.close(); 46 }catch(Exception e){ 47 out.print("图书信息添加失败!!!"); 48 e.printStackTrace(); 49 } 50 %> 51 <br> 52 <a href="index.jsp">返回</a> 53 54 </body> 55 </html>
最后验证效果即可,如下所示
成功完成jsp插入到mysql数据库的数据,特此分享。