关于Ajax使用json连接数据库问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_45744236/article/details/102779500

关于Ajax使用json连接数据库问题
1.首先是项目包
在这里插入图片描述
2.主要使用Ajax链接sevlet 使用servlet连接数据库 进行传值操作 ```
把写入的代码放入table表格中

<body>
  <table>
      <thead>
          <tr><td>姓名</td><td>年龄</td></tr>
      </thead>
    <tbody>

    </tbody>
  </table>

  <script type="text/javascript">
   $(function(){
        $.ajax({
          url:"nameServlet",
          type:"post",
          data:{

          },
          dataType :"json"  ,
          success:function(data){
            $.each(data,function (i) {
              var Stringstr  = "" ;
              Stringstr  = " <tr><td>"+data[i].name+"</td><td>"+data[i].age+"</td></tr>" ;
              $("tbody").append(Stringstr);
            });
          }
      });
    });

  </script>

  </body>

3.servlet来连接数据库操作 `使用toJSONString() 转换list集合

 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        // 从数据库中获取数据 并且显示在userList.jsp中
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out = response.getWriter();
        nameService name = new nameServiceImpl();
        List<nameBean> mans = name.list();
        String user = JSON.toJSONString(mans);
        out.print(user);
            System.out.println(user);

        out.flush();
        out.close();
    }

4.这里使用的是fastjson的jar包
下面是jdbc和baen 的 servle 的代码
这是nameService的代码

package service.impl;

import bean.nameBean;
import service.nameService;
import util.DBUtil;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class nameServiceImpl implements nameService {

    @Override
    public List<nameBean> list() {
        List<nameBean> list = new ArrayList<nameBean>();
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            conn = DBUtil.getConn();
            String sql = "select * from bookl";
            ps = conn.prepareStatement(sql);
            rs = ps.executeQuery();
            while (rs.next()) {
                nameBean be = new nameBean();
                be.setName(rs.getString(1));
                be.setAge(rs.getString(2));
                list.add(be);

            }
        } catch (Exception e) {

        } finally {
            DBUtil.close(conn, ps, rs);
        }

        return list;
    }
}


这个是nameserve的代码

package service;

import bean.nameBean;

import java.util.List;

public interface nameService {

    //查询数据库内容结果放入list集合
        List<nameBean> list() ;
}

bean 和 jdbc代码

package bean;

public class nameBean {
    private String name ;
    private String age ;

    public String getAge() {
        return age;
    }

    public String getName() {
        return name;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public void setName(String name) {
        this.name = name;
    }
}

jdbc

package util;

import java.sql.*;

public class DBUtil {
    private static String url = "jdbc:sqlserver://localhost:1433;databaseName=Demo";
    private static String user = "chen";
    private static String pwd = "1";

    static {

        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    public static Connection getConn() {
        Connection conn = null;
        try {
            conn = DriverManager.getConnection(url, user, pwd);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return conn;
    }

    public static void close(Connection conn, PreparedStatement ps, ResultSet rs) {

        try {
            if (conn != null) {
                conn.close();
            }
            if (ps != null) {
                ps.close();
            }
            if (rs != null) {
                rs.close();
            }



        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}

全部代码执行 可直接显示 数据库内容在index jsp 页面中。。。

猜你喜欢

转载自blog.csdn.net/qq_45744236/article/details/102779500