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
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Mari bergabung, dapatkan informasi dan teman baru!
Programmer Forum
Programmer ForumKASKUS Official
20.2KThread4.3KAnggota
Terlama
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Ikuti KASKUS di
© 2023 KASKUS, PT Darta Media Indonesia. All rights reserved.