💡💡💡javaweb之JDBC技术基础训练之管理系统全集🙌🙌🙌👇👇👇
添加链接描述javaweb之JDBC技术基础训练—图书管理系统:数据准备、可能遇到的问题的解决方法🤟
javaweb之JDBC技术基础训练二图书管理系统:从数据库插入数据功能实现🤟
javaweb之JDBC技术基础训练三图书管理系统:查询数据功能实现🤟
javaweb之JDBC技术基础训练四图书管理系统:修改功能的实现🤟
javaweb之JDBC技术基础训练五图书管理系统:删除数据项🤟
javaweb之JDBC技术基础训练五图书管理系统:删除数据项🤟
现在我们以插入smbms_address表为例,演示插入表的过程
文章目录
- 分析表结构
- 过滤器
- index.html
- addBook.jsp
- Book类
- 测试一下
-
分析表结构
用Navicat for mysql查看一下该表的结构:
过滤器
在写代码之前,我习惯先把过滤器写好,就是怕待会数据传输的时候遇到乱码的问题,也可以不写过滤器有一些其他的方法去解决数据乱码问题,比如搜素🔍Java web后台插入数据库中文乱码问题解决,你可以看到一堆信息,有的说
要到tomcat6.x服务器编码设置
有的又说改web.xml文件
改来改去的,直接写一个过滤器,这样所有的数据进来和出去都解决了,不香🐎,过滤器针对本来的主要用处之一就是过滤数据,所以我喜欢直接写个简单的过滤器去解决
记住,以下设置的时候变量名要和数据库的字段名要对应!!!不然插入会失败的!
package com.xmonster.filter;
import javax.servlet.*;
import java.io.IOException;
public class CharacterEncodingFilter implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
chain.doFilter(request,response);
}
public void destroy() {
}
}
在web.xml中配置一下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>com.xmonster.filter.CharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
index.html
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.SQLException" %><%--
Created by IntelliJ IDEA.
User: lenovo
Date: 2021/10/31
Time: 11:34
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Index</title>
</head>
<body>
<form action="addBook.jsp" method="post" οnsubmit="return check(this)">
<table align="center" width="500">
<tr>
<td align="center" colspan="2">添加图书信息表</td>
</tr>
<tr>
<td align="right">图书名称:</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td align="right">价格:</td>
<td><input type="text" name="price"></td>
</tr>
<tr>
<td align="right">数量:</td>
<td><input type="text" name="bookCount"></td>
</tr>
<tr>
<td align="right">作者:</td>
<td><input type="text" name="author"></td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="submit" value="添加该图书信息"/>
</td>
</tr>
</table>
</form>
</body>
</html>
addBook.jsp
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.PreparedStatement" %><%--
Created by IntelliJ IDEA.
User: lenovo
Date: 2021/10/31
Time: 19:19
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="book" class="com.xmonster.bean.Book"></jsp:useBean>
<jsp:setProperty property="*" name="book"/>
<%
try{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC";
String username="root";
String password="123456";
Connection connection = DriverManager.getConnection(url, username, password);
String sql = "insert into tb_book(name, price, bookCount, author) VALUES (?,?,?,?);";
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1, book.getName());
ps.setDouble(2, book.getPrice());
ps.setInt(3, book.getBookCount());
ps.setString(4, book.getAuthor());
int row = ps.executeUpdate();
if(row>0){
out.println("成功插入"+row+"条数据");
}
ps.close();
connection.close();
}catch (Exception e){
out.println("插入失败");
e.printStackTrace();
}
%>
<br>
<a href="index.jsp">再插入一条数据吧~</a>
Book类
记住,变量名要对应!!!不然插入会失败的!
测试一下
到数据库去看看
可以看到已经成功插入啦
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)