JDBC操作数据库,第一:jsp插入mysql数据库,坎坷摸索分享

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: JSP连接数据库,坎坷摸索了好久,现在终于做好了,分享一下,希望对更多热爱编程学习的人有所帮助!!!谢谢   第一:首先准备的就是已经安装好Mysql,这里不做多叙述,百度可以做到。 然后在mysql数据库中做如下操作: 需要注意的是自己创建的数据库的名字,和数据表的名字,这两个和后面写的程序息息相关,所以必须引起重视     第二步:就可以开始写程序了。

JSP连接数据库,坎坷摸索了好久,现在终于做好了,分享一下,希望对更多热爱编程学习的人有所帮助!!!谢谢  

第一:首先准备的就是已经安装好Mysql,这里不做多叙述,百度可以做到。

然后在mysql数据库中做如下操作:

需要注意的是自己创建的数据库的名字,和数据表的名字,这两个和后面写的程序息息相关,所以必须引起重视

 

 

第二步:就可以开始写程序了。

首先是Book类,这里最需要注意的是起的包名,真的很重要,真的很重要,真的很重要,重要的事情说三遍

 1 package com.ningmeng;
 2 
 3 /**
 4  * 1:book类用于封装图书对象信息
 5  * @author biexiansheng
 6  *
 7  */
 8 public class Book {
 9     
10     private int id;//编号
11     private String name;//图书名称
12     private double price;//价格
13     private int bookCount;//数量
14     private String author;//作者
15     public int getId() {
16         return id;
17     }
18     public void setId(int id) {
19         this.id = id;
20     }
21     public String getName() {
22         return name;
23     }
24     public void setName(String name) {
25         this.name = name;
26     }
27     public double getPrice() {
28         return price;
29     }
30     public void setPrice(double price) {
31         this.price = price;
32     }
33     public int getBookCount() {
34         return bookCount;
35     }
36     public void setBookCount(int bookCount) {
37         this.bookCount = bookCount;
38     }
39     public String getAuthor() {
40         return author;
41     }
42     public void setAuthor(String author) {
43         this.author = author;
44     }
45     
46 }

然后,就是index.jsp页面,这是主界面。这点没啥重点,都是基础的。

 

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <html>
 4 <head>
 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 6 <title>Insert title here</title>
 7 </head>
 8 <body>
 9     <form action="AddBook.jsp" method="post" onsubmit="return check(this);">
10         <table align="center" width="450">
11             <tr>
12                 <td align="center" colspan="2">
13                     <h2>添加图书信息</h2>
14                     <hr>
15                 </td>
16             </tr>
17             <tr>
18                 <td align="right">图书名称:</td>
19                 <td><input type="text" name="name"/></td>
20             </tr>
21             <tr>
22                 <td align="right">价格:</td>
23                 <td><input type="text" name="price"/></td>
24             </tr>
25             <tr>
26                 <td align="right">数量:</td>
27                 <td><input type="text" name="bookCount"/></td>
28             </tr>
29             <tr>
30                 <td align="right">作者:</td>
31                 <td><input type="text" name="author"/></td>
32             </tr>
33             <tr>
34                 <td align="center" colspan="2">
35                     <input type="submit" value="添加">
36                 </td>
37             </tr>
38         </table>
39     </form>
40 </body>
41 </html> 

最后,就是逻辑代码的程序,注意的重点很多很多

第一:一定要把包到对了,不然一直报错,真的很头疼的一件事情。

第二:<jsp:useBean id="book" class="com.ningmeng.Book"></jsp:useBean>这点就是前面强调的,class="自己的包名和上面定义的类名";

第三:String url="jdbc:mysql://localhost:3306/test";//数据库连接字符串,这点是这个test是自己创建的数据表的名字,一定要写对了。

第四:int row=ps.executeUpdate();//执行更新操作,返回所影响的行数,不然数据不能写入到数据库

然后就没啥然后了,一切大功告成。

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!-- 导入的三个包真的很重要,切记不要忘记 -->
 4 <%@page import="java.sql.DriverManager"%>
 5 <%@page import="java.sql.Connection"%>
 6 <%@page import="java.sql.PreparedStatement" %>
 7 
 8 <!-- 解决中文乱码的问题 -->
 9 <%request.setCharacterEncoding("UTF-8"); %>
10 <!-- 实例化javabean对象的Book类 -->
11 <jsp:useBean id="book" class="com.ningmeng.Book"></jsp:useBean>
12 <!-- 自动匹配同名称属性的元素 -->
13 <jsp:setProperty property="*" name="book"/>
14 
15 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
16 <html>
17 <head>
18 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
19 <title>Insert title here</title>
20 </head>
21 <body>
22 <%
23     try{
24         Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动,注册到驱动管理器
25         out.print("加载数据库驱动成功!!!"+"<br/>");
26         String url="jdbc:mysql://localhost:3306/test";//数据库连接字符串
27         String name="root";//
28         String password="123456";
29         Connection conn=DriverManager.getConnection(url,name,password);
30         //创建connection连接,
31         out.print("创建connection连接成功!!!"+"<br/>");
32         String sql="insert into tb_books(name,price,bookCount,author) values(?,?,?,?)";
33         //添加图书信息的sql语句
34         PreparedStatement ps=conn.prepareStatement(sql);
35         //获取PreparedStatement
36         ps.setString(1,book.getName());//对sql语句中的第1个参数赋值
37         ps.setDouble(2,book.getPrice());//对sql语句中的第2个参数赋值
38         ps.setInt(3,book.getBookCount());//对sql语句中的第3个参数赋值
39         ps.setString(4,book.getAuthor());//对sql语句中的第4个参数赋值
40         int row=ps.executeUpdate();//执行更新操作,返回所影响的行数
41         if(row>0){
42             out.print("成功添加了 "+row+" 条数据!!!");
43         }
44         ps.close();
45         conn.close();
46     }catch(Exception e){
47         out.print("图书信息添加失败!!!");
48         e.printStackTrace();
49     }
50 %>    
51 <br>
52 <a href="index.jsp">返回</a>    
53 
54 </body>
55 </html>
 最后验证效果即可,如下所示


成功完成jsp插入到mysql数据库的数据,特此分享。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2天前
|
SQL 运维 关系型数据库
MySQL 中 GRANT 操作会引起复制中断吗?
GRANT 操作并不是一个原子性操作,不管执行成功与否,都会触发一个隐式重载授权表的行为。 在生产环境中需要规范用户创建及授权的操作,不推荐使用 DML 语句去直接变更 mysql.user 表,可能会引发其他的问题,若使用了 DML 语句进行变更, 需要手工执行 flush privileges。
17 4
|
6天前
|
SQL 关系型数据库 MySQL
实时计算 Flink版操作报错合集之从mysql读数据写到hive报错,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
6天前
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版操作报错合集之运行mysql to doris pipeline时报错,该如何排查
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
6天前
|
Oracle 关系型数据库 Java
实时计算 Flink版操作报错合集之cdc postgres数据库,当表行记录修改后报错,该如何修改
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
6天前
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版操作报错合集之整库同步mysql到starRock提交任务异常,该如何处理
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
6天前
|
SQL 监控 关系型数据库
实时计算 Flink版操作报错合集之在设置监控PostgreSQL数据库时,将wal_level设置为logical,出现一些表更新和删除操作报错,怎么办
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
6天前
|
关系型数据库 Java 数据库
实时计算 Flink版操作报错合集之flinksql采PG数据库时报错,该如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
6天前
|
关系型数据库 MySQL 数据库
实时计算 Flink版操作报错合集之在处理PostgreSQL数据库遇到报错。该如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
6天前
|
消息中间件 关系型数据库 数据库
实时计算 Flink版操作报错合集之在使用RDS数据库作为源端,遇到只能同步21个任务,是什么导致的
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
1天前
|
测试技术 数据库 容器
直接操作数据库进行DAO层测试有什么问题
直接操作数据库进行DAO层测试有什么问题?

推荐镜像

更多