Java查询添加数据简述

Java查询添加数据简述

前言

utils包中的BaseDao和JdbcUtil就不叙述了,主要是对查询和添加做一个简单的回顾

查询

先在servlet层创建一个主页面的IndexServlet,然后再entity层创建一个类,名字和你所要查询数据库表名字对应。我的数据库表名为animal,字段有id,name,info.所以entity下创建的Animal类,代码如下

package com.cjm.entity;

public class Animal {
    private  Integer id;
    private String name;
    private String info;
    public Integer getId() {return id;}
    public void setId(Integer id) {this.id = id;}
    public String getName() {return name;}
    public void setName(String name) {this.name = name;}
    public String getInfo() {return info;}
    public void setInfo(String info) {this.info = info;}
    @Override
    public String toString() {
        return "Animal{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", info='" + info + '\'' +
                '}';
    }
}

toString是为了方便运行测试数据是否能取出,可以不写
然后在dao层中创建类并进行书写方法,来对数据库表中内容查询

package com.cjm.dao;

import com.cjm.entity.Animal;
import com.cjm.utils.BaseDao;

import java.util.List;

public class AnimalDao extends BaseDao {
    //查询数据 返回值查询的所有对象
    public List<Animal> select(){
        String sql="select * from animal";
        List<Animal> query = super.query(sql, null, Animal.class);
        return query;
    }

创建好方法后,在IndexServlet中进行调用,获取数据

package com.cjm.servlet;

import com.cjm.dao.AnimalDao;
import com.cjm.entity.Animal;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

@WebServlet(name = "IndexServlet", value = "/IndexServlet")
public class IndexServlet extends HttpServlet {
//new对象,对dao层中的方法进行调用
   AnimalDao animalDao=new AnimalDao();
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        HttpSession session = request.getSession(false);
        //查询数据,对数据进行展示
        List<Animal>animals=animalDao.select();
        System.out.println(animals);//测试,看数据能否取出
        //前段展示界面,放在一块了
        PrintWriter writer = response.getWriter();
        writer.println("<html>");
        writer.println("<body>");
        //为之后的添加做准备
        writer.println("<div><a href='addAnimal.html' style='text-decoration:none'>添加</a></div>");
        //写表格,这个表格数据从animals集合中取出来的
        writer.println("<table border='3px' bordercolor='black' width='800px' align='center'>");
        writer.println("<tr>");
        writer.println("<th>编号</th>");
        writer.println("<th>姓名</th>");
        writer.println("<th>信息</th>");
        writer.println("</tr>");
        //有多行数据  增强for循环
        for (Animal animal : animals) {
            writer.println("<tr align='center'>");
            writer.println("<td>"+ animal.getId() +"</td>");
            writer.println("<td>"+ animal.getName() +"</td>");
            writer.println("<td>"+ animal.getInfo() +"</td>");
            writer.println("</tr>");
        }

        writer.println("</table>");
        writer.println("</body>");
        writer.println("</html>");
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doGet(request, response);
    }
}

添加

在web下进行HTML的创建,IndexServlet中已经提前设置好了

 //为之后的添加做准备
        writer.println("<div><a href='addAnimal.html' style='text-decoration:none'>添加</a></div>");

这是创建好的HTML页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="AddServlet" method="post">
    姓名:<input type="text" name="name"><br>
    信息:<input type="text" name="info"><br>
    <input type="submit" value="添加">
</form>
</body>
</html>

继续在dao层中AnimalDao书写添加的方法,然后在新建的AddServlet中进行相关调用

 //添加数据,返回值是受影响的行数
    public int add (Object[] objects){
        String sql="insert into animal (name,info) values (?,?)";
        return update(sql,objects);

AddServlet代码如下

package com.cjm.servlet;

import com.cjm.dao.AnimalDao;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;

@WebServlet(name = "AddServlet", value = "/AddServlet")
public class AddServlet extends HttpServlet {
    AnimalDao animalDao=new AnimalDao();
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("utf-8");//防止乱码
        //    获取前端发送的数据
        //注意插入数据库的数据类型和这里取出来的数据类型转换
        /*例:String转换为Integer Integer age1=Integer.valueOf(age) */
        String name = request.getParameter("name");
        String info = request.getParameter("info");
        Object[]objects={name,info};
        int i=animalDao.add(objects);

        if (i==1){
            response.sendRedirect("IndexServlet");
        }else {
            response.sendRedirect("addAnimal.html");
        }
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doGet(request, response);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值