从jsp页面中连接数据库并进行相关操作(增删查改)
来源:互联网 发布:社交网络可视化 编辑:程序博客网 时间:2024/05/21 22:44
1、在servlet中处理读取数据库中的内容;
2、编写一个java类封装对数据库的加载、连接以及各种查询、更新方法;
3、编写一个javaBean 其参数对应于数据库中的列名
4、servlet中读取数据完成后,交于jsp界面输出
数据库中的数据:
读取的数据:
具体如下:
一:java类,封装对数据库的加载、连接以及各种查询、更新方法;
package Tools;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;public class Tools {private static String driver = null;private static String url = null;private static String password = null;private static String user = null;private Connection con=null;private Statement state=null;private PreparedStatement prestate=null;private ResultSet rs=null;//加载驱动static{try {driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=book";password="123456";user="sa";Class.forName(driver).newInstance();} catch (Exception e) {e.printStackTrace();}}//创建连接public static Connection getConnection(){try {return DriverManager.getConnection(url, user, password);} catch (SQLException e) {e.printStackTrace();return null;}}//返回查询结果public ResultSet getExecuteQuery(String sql) throws SQLException{ con = Tools.getConnection(); state = con.createStatement(); rs = state.executeQuery(sql); return rs;}//返回执行(update delete add)public int getExecuteUpdate(String sql) throws SQLException{ con = Tools.getConnection(); state = con.createStatement(); int num = state.executeUpdate(sql); return num;}//释放资源public static void release(ResultSet rs,Statement sm, Connection con){if (rs!=null) {try {rs.close();} catch (SQLException e) {e.printStackTrace();}rs=null;}if (sm!=null) {try {sm.close();} catch (SQLException e) {e.printStackTrace();}}if (con!=null) {try {con.close();} catch (SQLException e) {e.printStackTrace();}}}public void release(){if (rs!=null) {try {rs.close();} catch (SQLException e) {e.printStackTrace();}rs=null;}if (state!=null) {try {state.close();} catch (SQLException e) {e.printStackTrace();}}if (con!=null) {try {con.close();} catch (SQLException e) {e.printStackTrace();}}}public static void release(ResultSet rs,PreparedStatement psm, Connection con){if (rs!=null) {try {rs.close();} catch (SQLException e) {e.printStackTrace();}rs=null;}if (psm!=null) {try {psm.close();} catch (SQLException e) {e.printStackTrace();}}if (con!=null) {try {con.close();} catch (SQLException e) {e.printStackTrace();}}}}
二:javaBean 其参数对应于数据库中的列名
package beans;public class bookbean { private int id; private String name; private float price; private String author; private int bookCount;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 float getPrice() {return price;}public void setPrice(float price) {this.price = price;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public int getBookCount() {return bookCount;}public void setBookCount(int bookCount) {this.bookCount = bookCount;} }
三:开始的一个jsp界面,只有一个功能,实现跳转到servlet处理数据
<%@ 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><%RequestDispatcher rd =request.getRequestDispatcher("Page_go"); //跳转页面rd.forward(request, response);%></body></html>
四:servlet ,给出处理数据的代码
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubList<bookbean> list= GetData("select * from bookStore"); request.setAttribute("list", list); request.getRequestDispatcher("jdbc.jsp").forward(request, response);;}/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}private List<bookbean> GetData(String sql){List<bookbean> list = new ArrayList<bookbean>(); Tools t = new Tools(); try { ResultSet rs = t.getExecuteQuery(sql); while(rs.next()) { bookbean l = new bookbean(); l.setId(rs.getInt("id")); l.setAuthor(rs.getString("author")); l.setBookCount(rs.getInt("bookCount")); l.setName(rs.getString("name")); l.setPrice(rs.getFloat("price")); list.add(l); } t.release(); return list; }catch(Exception e) { t.release(); e.printStackTrace(); return null; }}
五:最后的输出jsp界面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@page import ="java.sql.*,beans.*,java.util.*" %><!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><table width="98%" border="0" align="center" cellpadding="0"cellspacing="1" bgcolor="#666666"><tr><th bgcolor="#FFF000">图书名称</th><th bgcolor="#FFF000">价格</th><th bgcolor="#FFF000">数量</th><th bgcolor="#FFF000">作者</th><th bgcolor="#FFF000">修改数量</th><th bgcolor="#FFF000">删除</th></tr> <% //获取图书集合 List<bookbean> list= (List<bookbean>)request.getAttribute("list"); //判断集合是否有效 if(list==null || list.size()<1){ out.print("<tr><td bgcolor='#FFFFF'>没有任何图书信息!</td></tr>"); } else { for(bookbean b:list){ %> <tr align="center"><td bgcolor="#FFFFFF"><%=b.getName() %></td><td bgcolor="#FFFFFF"><%=b.getPrice() %></td><td bgcolor="#FFFFFF"><%=b.getBookCount() %></td><td bgcolor="#FFFFFF"><%=b.getAuthor() %></td><td bgcolor="#FFFFFF"><form action="Update.jsp" method="post" onsubmit="return check(this);"> <input type="hidden" name="id" value="<%=b.getId()%>"> <input type="text" name="bookCount" size="3"> <input type="submit" value="修 改"> </form> </td> <td bgcolor="#FFFFFF"><form action="Delete.jsp" method="post" > <input type="hidden" name="id" value="<%=b.getId()%>"> <input type="submit" value="删 除"> </form> </td> </form></td></tr> <% } } %></table><div width="98%" align="center" style="padding-top:10px;"></div></body></html>
2 0
- 从jsp页面中连接数据库并进行相关操作(增删查改)
- thinkphp连接数据库并进行增删改查操作
- Android连接MySQL数据库并进行增删改查操作
- 数据库中的记录通过servlet回显到jsp页面中(连接数据库或者查询参照:对数据进行增删改查)
- JDBC连接数据库,对数据库进行增删查改操作
- JAVA连接到MySql,并进行增删改查操作
- JDBC——用JDBC连接MySQL数据库并进行简单的增删改查操作
- JDBC——用JDBC连接MySQL数据库并进行简单的增删改查操作
- C# ADO.net连接数据库 进行增删改查操作
- vs2010连接mysql数据库进行增删改查操作
- Java连接本地MySQL数据库进行增删改查操作
- python 连接mysql数据库 进行增删改查操作
- java连接数据库,进行增删改查
- 对数据库进行增删改查操作
- PHP连接数据库(注册页面的增删改查)
- 在jsp中连接数据库的用法(增删改查)
- C#连接Oracle数据库(执行增删改查操作)
- JDBC----用JDBC连接Mysql并进行增删改查操作
- 保留小数精度
- MapleStory引擎-介绍
- 算法之 KMP匹配算法2
- manacher算法----O(n)最长回文串
- Web基础之Servlet深入
- 从jsp页面中连接数据库并进行相关操作(增删查改)
- Mysql中的where子句
- Room
- [LeetCode]234. Palindrome Linked List
- 结算方式 显示
- 抱歉了,我不做激光雷达这一块了!
- 【zzulioj 2127 tmk射气球】+ 空间点到线段距离
- bzoj 4010: [HNOI2015]菜肴制作 拓扑排序+堆
- POJ 3094 Quicksum