JSP连接数据库,坎坷摸索了好久,现在终于做好了,分享一下,希望对更多热爱编程学习的人有所帮助!!!谢谢
第一:首先准备的就是已经安装好Mysql,这里不做多叙述,百度可以做到。
然后在mysql数据库中做如下操作:
需要注意的是自己创建的数据库的名字,和数据表的名字,这两个和后面写的程序息息相关,所以必须引起重视
第二步:就可以开始写程序了。
首先是Book类,这里最需要注意的是起的包名,真的很重要,真的很重要,真的很重要,重要的事情说三遍
package com.ningmeng; /**
* 1:book类用于封装图书对象信息
* @author biexiansheng
*
*/
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;
} }
然后,就是index.jsp页面,这是主界面。这点没啥重点,都是基础的。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</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>
最后,就是逻辑代码的程序,注意的重点很多很多
第一:一定要把包到对了,不然一直报错,真的很头疼的一件事情。
第二:<jsp:useBean id="book" class="com.ningmeng.Book"></jsp:useBean>这点就是前面强调的,class="自己的包名和上面定义的类名";
第三:String url="jdbc:mysql://localhost:3306/test";//数据库连接字符串,这点是这个test是自己创建的数据表的名字,一定要写对了。
第四:int row=ps.executeUpdate();//执行更新操作,返回所影响的行数,不然数据不能写入到数据库
然后就没啥然后了,一切大功告成。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 导入的三个包真的很重要,切记不要忘记 -->
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.PreparedStatement" %> <!-- 解决中文乱码的问题 -->
<%request.setCharacterEncoding("UTF-8"); %>
<!-- 实例化javabean对象的Book类 -->
<jsp:useBean id="book" class="com.ningmeng.Book"></jsp:useBean>
<!-- 自动匹配同名称属性的元素 -->
<jsp:setProperty property="*" name="book"/> <!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>Insert title here</title>
</head>
<body>
<%
try{
Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动,注册到驱动管理器
out.print("加载数据库驱动成功!!!"+"<br/>");
String url="jdbc:mysql://localhost:3306/test";//数据库连接字符串
String name="root";//
String password="123456";
Connection conn=DriverManager.getConnection(url,name,password);
//创建connection连接,
out.print("创建connection连接成功!!!"+"<br/>");
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();
conn.close();
}catch(Exception e){
out.print("图书信息添加失败!!!");
e.printStackTrace();
}
%>
<br>
<a href="index.jsp">返回</a> </body>
</html>
最后验证效果即可,如下所示
成功完成jsp插入到mysql数据库的数据,特此分享。