简单图书管理通过AJAX查询sqlServer数据库JSON返回到前台显示
2020-02-03 21:25
1671 查看
使用json,连接sqlserver数据库,把数据传入到前台
先看下效果图
1.我使用的是mvc结构写的
2.写DBUtil的工具类,
package cn.hnpi.DButil; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; /** * * @author Administrator * @DBUtil工具类,链接SQLSERVER数据库 */ public class DBUtil { //Connection方法 public static Connection getConn(){ String url ="jdbc:sqlserver://localhost:1433;databaseName=MYdb"; String user = "sa"; String pwd = "1"; Connection conn = null; try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); conn = DriverManager.getConnection(url, user, pwd); System.out.println("dbutil"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return conn; } //close方法; public static void closeConn(Connection conn,PreparedStatement ps,ResultSet rs){ try { if(conn != null){ conn.close();} } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { if(ps != null){ ps.close();} } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { if(rs != null){ rs.close();} } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
bean下面的代码,我用只用了三个变量
package cn.hnpi.bean; public class Book { //图书编号 private Integer id; //图书名称 private String bookName; //图书作者 private String bookAtuor; public Book() { super(); } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getBookName() { return bookName; } public void setBookName(String bookName) { this.bookName = bookName; } public String getBookAtuor() { return bookAtuor; } public void setBookAtuor(String bookAtuor) { this.bookAtuor = bookAtuor; } }
service层 和serviceImpl,以及servlet的代码
//service层 package cn.hnpi.service.impl; import cn.hnpi.bean.Book; import java.util.List; public interface BookService { List<Book> list(); } //serviceImpl package cn.hnpi.service.impl; import cn.hnpi.DButil.DBUtil; import cn.hnpi.bean.Book; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; public class BookServiceImpl implements BookService { public List<Book> list() { // TODO Auto-generated method stub Connection conn = DBUtil.getConn(); PreparedStatement ps = null; ResultSet rs = null; //构建查询语句 String sql = "select * from books"; List<Book> books =new ArrayList<Book>(); try { ps= conn.prepareStatement(sql); //从数据库返回一个结果集,使用ResultSet进行接收 rs = ps.executeQuery(); while(rs.next()){ Book book =new Book(); book.setId(rs.getInt(1)); book.setBookName(rs.getString(2)); book.setBookAtuor(rs.getString(3)); books.add(book); } } catch ( SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { DBUtil.closeConn(conn,ps,rs); } System.out.println(books); return books; } } //servlet代码 package cn.hnpi.servlet; import cn.hnpi.DButil.DBUtil; import cn.hnpi.bean.Book; import cn.hnpi.service.impl.BookService; import cn.hnpi.service.impl.BookServiceImpl; import com.alibaba.fastjson.JSON; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; import java.util.List; public class BookServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;chatset=utf-8"); response.setCharacterEncoding("utf-8"); PrintWriter out = response.getWriter(); BookService bookService = new BookServiceImpl(); List<Book> books = bookService.list(); String json = JSON.toJSONString(books); System.out.print(json); out.print(json); out.flush(); out.close(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } }
jsp js代码(省事,直接放一起)
<%-- Created by IntelliJ IDEA. User: Xntyty Date: 2019/10/26 Time: 13:53 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>查询数据</title> </head> <script src="Js/jquery.js"></script> <script type="text/javascript"> $(function () { $(":button").on("click", function () { $.ajax({ url: "bookServlet",//提交地址 type: "post",//提交方式(get,post) dataType: "json",//指定服务器返回的数据类型 success: function (data) {//请求成功后的回调函数 $("#tbody").empty(); //删除匹配的元素集合中所有的子节点(就是不重复执行) var trStr = ""; //使用循环找到控制台的数据 for (var i = 0; i < data.length; i++) { trStr += "<tr><td>" + data[i].id + "</td><td>" + data[i].bookName + "</td><td>" + data[i].bookAtuor + "</td></tr>" } $("#tbody").show().append(trStr);//向<tbody>内部追加内容 }, error: function () { alert('请求失败'); } }) }); }); </script> <body> <table align="center"> <tr><td><input type="button" value="查看图书"/></td></tr> <tr> <td>id</td> <td>图书名称</td> <td>图书作者</td> </tr> <tbody id="tbody"> </tbody> </table> </body> </html>
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 通过ajax查询数据库数据显示在前台
- 通过ajax返回的json数据,给下拉框默认选中显示(给下拉框赋的选中值)
- 利用AJAX后台查询数据库返回json,前台生成表格
- Json返回查询的数据,前台ajax获取
- json数组实现图书管理系统——图书管理、查询、前台分页功能
- Ajax返回的json遍历取值并显示到前台
- list集合转换成json数据,ajax请求返回json数据,再通过循环显示出来
- Ajax返回的json遍历取值并显示到前台的方法
- Django 一个简单的图书管理程序(五 通过查询添加借阅人)
- 【Servlet】在Servlet3.0中利用json+ajax把数据库查询出来的数据推向前台显示,无额外的json解析包
- ajax根据ID查询数据库并返回Json格式数据返回js,使用append显示到页面。判断json值为[]或者[[]]的问题。
- AJAX通过JSON显示数据,hql语句查询要对应到类
- ThinkPHP通过AJAX返回JSON的两种实现方法
- easy ui怎么把前台显示的dataGird中的所有数据序列化为json,返回到后台并解析
- SSH的增删改查(通过AJAX查询显示)
- 通过在拦截器配置request对象,在前台页面显示返回的消息(1)
- ajax接收返回二维数组的json数据后显示为null
- jQuery通过Ajax向PHP服务端发送请求并返回JSON数据
- servlet对象通过json返回到前台页面并展示
- query ajax json 通过后台代码(查询数据库)绑定html控件select 下拉框实例