Pengaturan

Gambar

Lainnya

Tentang KASKUS

Pusat Bantuan

Hubungi Kami

KASKUS Plus

© 2024 KASKUS, PT Darta Media Indonesia. All rights reserved

kodingersAvatar border
TS
kodingers
Error org.springframework.jdbc.BadSqlGrammarException:
Java Spring MVC :
Saya mencoba memasukkan data ke database di PHPMyAdmin dari modal.
Setelah saya coba klik save, ada error ini :

Code:
  Type Exception Report

Message Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [INSERT INTO Tabel Master Barang (Kode Barang, Nama Barang, Harga Jual, Harga Beli , Satuan, Kategori) values('0','null','0','0','null','null')]; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'Master Barang (Kode Barang, Nama Barang, Harga Jual, Harga Beli , Satuan, Katego' at line 1

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [INSERT INTO Tabel Master Barang (Kode Barang, Nama Barang, Harga Jual, Harga Beli , Satuan, Kategori) values('0','null','0','0','null','null')]; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'Master Barang (Kode Barang, Nama Barang, Harga Jual, Harga Beli , Satuan, Katego' at line 1

 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)

 org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)

 javax.servlet.http.HttpServlet.service(HttpServlet.java:661)

 org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)

 javax.servlet.http.HttpServlet.service(HttpServlet.java:742)

 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

 Root Cause

org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [INSERT INTO Tabel Master Barang (Kode Barang, Nama Barang, Harga Jual, Harga Beli , Satuan, Kategori) values('0','null','0','0','null','null')]; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'Master Barang (Kode Barang, Nama Barang, Harga Jual, Harga Beli , Satuan, Katego' at line 1

 org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:234)

 org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)

 org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1414)

 org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:388)

 org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:523)

 com.tabel.dao.TabelDao.save(TabelDao.java:20)

 com.tabel.controller.TabelController.save(TabelController.java:24)

 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

 sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

 java.lang.reflect.Method.invoke(Unknown Source)

 org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)

 org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)

 org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)

 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)

 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)

 org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)

 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)

 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)

 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)

 org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)

 javax.servlet.http.HttpServlet.service(HttpServlet.java:661)

 org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)

 javax.servlet.http.HttpServlet.service(HttpServlet.java:742)

 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

 Root Cause

java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'Master Barang (Kode Barang, Nama Barang, Harga Jual, Harga Beli , Satuan, Katego' at line 1

 com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:118)

 com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95)

 com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)

 com.mysql.cj.jdbc.StatementImpl.executeUpdateInternal(StatementImpl.java:1393)

 com.mysql.cj.jdbc.StatementImpl.executeLargeUpdate(StatementImpl.java:2353)

 com.mysql.cj.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1303)

 org.springframework.jdbc.core.JdbcTemplate$1UpdateStatementCallback.doInStatement(JdbcTemplate.java:511)

 org.springframework.jdbc.core.JdbcTemplate$1UpdateStatementCallback.doInStatement(JdbcTemplate.java:508)

 org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:376)

 org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:523)

 com.tabel.dao.TabelDao.save(TabelDao.java:20)

 com.tabel.controller.TabelController.save(TabelController.java:24)

 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

 sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

 sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

 java.lang.reflect.Method.invoke(Unknown Source)

 org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)

 org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)

 org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)

 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)

 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)

 org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)

 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)

 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)

 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)

 org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)

 javax.servlet.http.HttpServlet.service(HttpServlet.java:661)

 org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)

 javax.servlet.http.HttpServlet.service(HttpServlet.java:742)

 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)  


Saya sudah mencoba mencari solusi tapi masih belum ketemu juga ketemu solusinya, Bagaimana solusi error ini ?



Code:
  TabelBarang.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">

<link rel="stylesheet" href="${pageContext.request.contextPath}/resources/CSS/Style.css">

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">

<title>Insert title here</title>

</head>

<body>

<div id="button">

    <button type="button" class="btn btn-secondary" data-toggle="modal" data-target="#addModal">Add</button>

    <button type="button" class="btn btn-secondary">Edit</button>

    <button type="button" class="btn btn-secondary">Delete</button>

</div>

<div class="modal fade" id="addModal" role="dialog">

  <div class="modal-dialog">

    <div class="modal-content">

      <div class="modal-header">

        <h4 class="modal-title">Add Data</h4>

        <button type="button" class="close" data-dismiss="modal">×</button>

      </div>

      <div class="modal-body">

      <form method="post" action="${pageContext.request.contextPath}/save" >

          <div class="form-group">

            <label for="Kode Barang">Kode Barang</label>

            <input type="text" class="form-control" id=KodeBarang> 

          </div>

          <div class="form-group">

            <label for="Nama Barang">Nama Barang</label>

            <input type="text" class="form-control" id=NamaBarang>

          </div>

          <div class="form-group">

            <label for="Harga Beli">Harga Beli</label>

            <input type="text" class="form-control" id=HargaBeli>

          </div>

          <div>

            <label for="Harga Jual">Harga Jual</label>

            <input type="text" class="form-control" id=HargaJual>

          </div>

          <div>

            <label for="Satuan">Satuan</label>

            <input type="text" class="form-control" id=Satuan>

          </div>

          <div>

            <label for="Kategori">Kategori</label>

            <input type="text" class="form-control" id=Kategori>

          </div>

          <br>

          <!-- <div class="dropdown">

            <button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown"> Kategori 

            <span class="caret"></span></button>

            <ul class="dropdown-menu"  role="menu" >

              <li>Makanan</li>

              <li>Minuman</li>

            </ul>

          </div> -->

          <div class="modal-footer">

          <input type="submit" value="Save">

          </div>

      </form>

          

      </div>

      

    </div>

  </div>

</div>

<div>

  <table class="table table-border">

    <thead>

      <tr>

      <td>Kode Barang</td>

      <td>Nama Barang</td>

      <td>Harga Jual</td>

      <td>Harga Beli</td>

      <td>Satuan</td>

      <td>Kategori</td>

      <td id="checkbox"><input type="checkbox"> </td> 

      </tr>

    </table>

    <p align="center"> Tidak ada data untuk ditampilkan</p>

</div>

  

</body>

</html>   


Code:



TabelController.java

package com.tabel.controller;

import org.springframework.beans.factory.annotation.Autowired;    

import org.springframework.stereotype.Controller;  

import org.springframework.ui.Model;  

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 com.tabel.dao.TabelDao;

import com.tabel.model.TabelModel;

@Controller 

public class TabelController {

@Autowired

TabelDao td;

@RequestMapping(value="/",method=RequestMethod.GET)

public String show( TabelModel tm){

return "TabelBarang";

}

@RequestMapping(value="/save",method=RequestMethod.POST)

public String save(@ModelAttribute("tm") TabelModel tm){

td.save(tm);

return "redirect:/";

}




TabelDao.java

Code:
package com.tabel.dao;
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.tabel.model.TabelModel;    

public class TabelDao {

JdbcTemplate template;

public void setTemplate(JdbcTemplate template) {    
    this.template = template;    
}    

public int save (TabelModel tm){
String sql = "INSERT INTO Tabel Master Barang (Kode Barang, Nama Barang, Harga Jual, Harga Beli , Satuan, Kategori) values('"+tm.getKodeBarang()+"','"+tm.getNamaBarang()+"','"+tm.getHargaJual()+"','"+tm.getHargaBeli()+"','"+tm.getSatuan()+"','"+tm.getKategori()+"')";
return template.update(sql);
}
}  



tabel-servlet.xml

Code:
<?xml version="1.0" encoding="UTF-8"?>
<beans >  
<context:component-scan base-package="com.tabel.controller"></context:component-scan>    
    
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">    
<property name="prefix" value="/WEB-INF/jsp/"></property>    
<property name="suffix" value=".jsp"></property>    
</bean>    
<bean id="ds" class="org.springframework.jdbc.datasource.DriverManagerDataSource">    
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>    
<property name="url" value="jdbc:mysql://localhost:3306/databasebarang"></property>    
<property name="username" value="root"></property>    
<property name="password" value=""></property>    
</bean>    
    
<bean id="jt" class="org.springframework.jdbc.core.JdbcTemplate">    
<property name="dataSource" ref="ds"></property>    
</bean>    
    
<bean id="dao" class="com.tabel.dao.TabelDao">    
<property name="template" ref="jt"></property>    
</bean>      
<mvc:default-servlet-handler/> 
<mvc:annotation-driven />
<mvc:resources mapping="/resources/**" location="/resources/" /> 

</beans> 


Code:
package com.tabel.model;

public class TabelModel {

private int KodeBarang;
private String NamaBarang;
private int HargaJual;
private int HargaBeli;
private String Satuan;
private String Kategori;

public int getKodeBarang(){
return KodeBarang;
}

public void setKodeBarang(int KodeBarang){
this.KodeBarang=KodeBarang;
}

public String getNamaBarang(){
return NamaBarang;
}

public void setNamaBarang(String NamaBarang){
this.NamaBarang=NamaBarang;
}

public int getHargaJual(){
return HargaJual;
}

public void setHargaJual(int HargaJual){
this.HargaJual=HargaJual;
}

public int getHargaBeli(){
return HargaBeli;
}

public void setHargaBeli(int HargaBeli){
this.HargaBeli=HargaBeli;
}

public String getSatuan(){
return Satuan;
}

public void setSatuan(String Satuan){
this.Satuan=Satuan;
}

public String getKategori(){
return Kategori;
}

public void setKategori(String Kategori){
this.Kategori=Kategori;
}




web.xml

Code:
?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
  <display-name>Tabel</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <servlet>    
    <servlet-name>tabel</servlet-name>    
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/tabel-servlet.xml</param-value>
    </init-param> 
    <load-on-startup>1</load-on-startup>    
  </servlet>
  <servlet-mapping>    
    <servlet-name>tabel</servlet-name>    
    <url-pattern>/</url-pattern>    
</servlet-mapping>    
</web-app> 


nona212Avatar border
nona212 memberi reputasi
1
377
4
GuestAvatar border
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Urutan
Terbaru
Terlama
GuestAvatar border
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Komunitas Pilihan