извлечение данных из базы данных

0
Emp.java

    package com.javatpoint;  

    public class Emp {  
    private int id;  
    private String name;  
    private float salary;  
    private String designation;  

    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 getSalary() {  
        return salary;  
    }  
    public void setSalary(float salary) {  
        this.salary = salary;  
    }  
    public String getDesignation() {  
        return designation;  
    }  
    public void setDesignation(String designation) {  
        this.designation = designation;  
    }  

    } 


EmpController.java


    package com.javatpoint;  
    import java.util.ArrayList;  
    import java.util.List;  
    import org.springframework.beans.factory.annotation.Autowired;  
    import org.springframework.stereotype.Controller;  
    import org.springframework.web.bind.annotation.ModelAttribute;  
    import org.springframework.web.bind.annotation.PathVariable;  
    import org.springframework.web.bind.annotation.RequestMapping;  
    import org.springframework.web.bind.annotation.RequestMethod;  
    import org.springframework.web.servlet.ModelAndView;  
    import com.javatpoint.Emp;  
    import com.javatpoint.EmpDao;  
    @Controller  
    public class EmpController {  
        @Autowired  
        EmpDao dao;//will inject dao from xml file  

        /*It displays a form to input data, here "command" is a reserved request attribute 
         *which is used to display object data into form 
         */  
        @RequestMapping("/empform")  
        public ModelAndView showform(){  
            return new ModelAndView("empform","command",new Emp());  
        }  
        /*It saves object into database. The @ModelAttribute puts request data 
         *  into model object. You need to mention RequestMethod.POST method  
         *  because default request is GET*/  
        @RequestMapping(value="/save",method = RequestMethod.POST)  
        public ModelAndView save(@ModelAttribute("emp") Emp emp){  
            dao.save(emp);  
            return new ModelAndView("redirect:/empform.jsp");//will redirect to viewemp request mapping  
        }  
        /* It provides list of employees in model object */  
        @RequestMapping("/viewemp")  
        public ModelAndView viewemp(){  
            List<Emp> list=dao.getEmployees();  
            return new ModelAndView("viewemp","list",list);  
        }  


    }

EmpDao.java

    package com.javatpoint;  
    import java.sql.ResultSet;  
    import java.sql.SQLException;  
    import java.util.List;  
    import

 org.springframework.jdbc.core.BeanPropertyRowMapper;  
import org.springframework.jdbc.core.JdbcTemplate;  
import org.springframework.jdbc.core.RowMapper;  
import com.javatpoint.Emp;  

public class EmpDao {  
JdbcTemplate template;  

public void setTemplate(JdbcTemplate template) {  
    this.template = template;  
}  
public int save(Emp p){  
    String sql="insert into emp(name,salary,designation) values('"+p.getName()+"',"+p.getSalary()+",'"+p.getDesignation()+"')";  
    return template.update(sql);  
}  

public Emp getEmpById(int id){  
    String sql="select * from emp where name=?";  
    return template.queryForObject(sql, new Object[]{id},new BeanPropertyRowMapper<Emp>(Emp.class));  
}  
public List<Emp> getEmployees(){  
    return template.query("select * from emp",new RowMapper<Emp>(){  
        public Emp mapRow(ResultSet rs, int row) throws SQLException {  
            Emp e=new Emp();  

            e.setName(rs.getString(1));  
            e.setSalary(rs.getFloat(2));  
            e.setDesignation(rs.getString(3));  
            return e;  
        }  
    });  
}  

}



spring1-servlet.xml




     <?xml version="1.0" encoding="UTF-8"?>
        <beans xmlns="http://www.springframework.org/schema/beans"    
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
            xmlns:p="http://www.springframework.org/schema/p"    
            xmlns:context="http://www.springframework.org/schema/context"    
            xsi:schemaLocation="http://www.springframework.org/schema/beans    
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd    
        http://www.springframework.org/schema/context    
        http://www.springframework.org/schema/context/spring-context-3.0.xsd">    

        <context:component-scan base-package="com.javatpoint"/>  


        <bean id="ds" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
                <property name="driverClassName" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/headway" />
                <property name="username" value="root" />
                <property name="password" value="toor" />
            </bean>

        <bean id="jt" class="org.springframework.jdbc.core.JdbcTemplate">  
        <property name="dataSource" ref="ds"></property>  
        </bean>  

        <bean id="dao" class="com.javatpoint.EmpDao">  
        <property name="template" ref="jt"></property>  
        </bean>  
          </beans>


 web.xml


<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
    <servlet>
      <servlet-name>spring1</servlet-name>
      <servlet-class>
         org.springframework.web.servlet.DispatcherServlet
      </servlet-class>
      <load-on-startup>1</load-on-startup>
   </servlet>

   <servlet-mapping>
      <servlet-name>spring1</servlet-name>
      <url-pattern>/</url-pattern>
   </servlet-mapping>
</web-app>

empform.jsp


    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!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=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
     <h1>Add New Employee</h1>  
           <form method="post" action="save">    
            <table >    
             <tr>    
              <td>Name : </td>   
              <td><input path="name"  /></td>  
             </tr>    
             <tr>    
              <td>Salary :</td>    
              <td><input path="salary" /></td>  
             </tr>   
             <tr>    
              <td>Designation :</td>    
              <td><input path="designation" /></td>  
             </tr>   
             <tr>    
              <td> </td>    
              <td><input type="submit" value="Save" /></td>    
             </tr>    
            </table>    
           <form>    
    </body>
    </html>

viewemp.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>Employees List</h1>  
<table border="2" width="70%" cellpadding="2">  
<tr><th>Id</th><th>Name</th><th>Salary</th><th>Designation</th><th>Edit</th><th>Delete</th></tr>  
   <c:forEach var="emp" items="${list}">   
   <tr>  
   <td>${emp.id}</td>  
   <td>${emp.name}</td>  
   <td>${emp.salary}</td>  
   <td>${emp.designation}</td>  
   <td><a href="editemp/${emp.id}">Edit</a></td>  
   <td><a href="deleteemp/${emp.id}">Delete</a></td>  
   </tr>  
   </c:forEach>  
   </table>  
   <br/>  
   <a href="empform.jsp">Add New Employee</a>  
</body>
</html>




    hi

Я пытаюсь извлечь данные из базы данных, но покажет единственный творог. введите описание изображения здесь, чтобы показать подобное.

и он отображает данные файла jsp. Я проверяю все возможные способы отображения данных из базы данных.curd будет отображаться, но он отображает данные файла jsp.

проверьте мой код и предоставьте решение.

    thank you.
Теги:
spring-mvc

1 ответ

0

Я не уверен, что это решение будет работать в вашем случае, но я думаю, вы забыли добавить JSTL Core Tags

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

после этого jstl знает <c:forEach var="emp" items="${list}"> будет отображать как для цикла, так и в каждой итерации emp - это ваша переменная объекта

  • 0
    это не работает

Ещё вопросы

Сообщество Overcoder
Наверх
Меню