标签:eclipse2021 java String 无法访问 sql mysql public javabean
解决在eclipse2021中,用mysql-connector-java-8.0.18.jar不兼容,导致无法访问数据库问题
(1)一个jsp Model1模式简单的商品查询为例,
(jsp+javabean+mysql)
- eclipse2021
- mysql1.5.6
- Tomcat9.0
- jdk 16.0.1
- mysql-connector-java-8.0.18.jar、mysql-connector-java-5.1.6-bin.jar
- jar下载
链接:https://pan.baidu.com/s/1HEc-0yJthDu0H6b9x-1mYQ
提取码:21bo
问题
如果用mysql-connector-java-8.0.18.jar,设置配置都没问题的情况下,则出现不兼容,报错:
换成mysql-connector-java-5.1.6-bin.jar,则可正常运行且写入:
如图:
由于未去修改字符编码,所以导致中文乱码
(2)代码块:
- model1index.jsp (位置:Testbean\webapp\model1index.jsp)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="model1prosess.jsp" method="post" onsubmit="return save(this);">
<table border="1" align="center" width="300" bordercolor="#000000">
<tr>
<td align="center" colspan="2">
<br><h1>录入物品信息</h1>
</td>
</tr>
<tr><td>物品名称</td><td><input type="text" name="name" id="name"></td></tr>
<tr><td>价格:</td><td><input type="text" name="price" id="price"></td></tr>
<tr><td>物品描述:</td><td><input type="text" name="description" id="description"></td></tr>
<tr><td align="center" colspan="2"><input type="submit" value="提交"> <input type="reset" value="重置"></td></tr>
</table>
</form>
</body>
</html>
- model1prosess.jsp (位置:Testbean\webapp\model1prosess.jsp)
<%@page import="javabean.model1.GoodsDao"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<% request.setCharacterEncoding("UTF-8"); %>
<jsp:useBean id="goods" class="javabean.model1.Goods"></jsp:useBean>
<jsp:setProperty name="goods" property="*" />
<jsp:useBean id="goodsDao" class="javabean.model1.GoodsDao"></jsp:useBean>
<% goodsDao.saveGoods(goods); %>
</body>
</html>
- Goods.java (位置:Testbean\src\javabean\model1\Goods.java)
package javabean.model1;
public class Goods {
private String name;
private double price;
private String description;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
- GoodsDao.java (Testbean\src\javabean\model1\GoodsDao.java)
package javabean.model1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class GoodsDao {
public void saveGoods(Goods goods){
try {
Class.forName("com.mysql.cj.jdbc.Driver");//加载驱动程序
String url="jdbc:mysql://localhost:3306/javabean";//数据库链接地址
Connection conn=DriverManager.getConnection(url,"root","root");//获取数据库链接
//定义sql语句
String sql="insert into goods(name,price,description) values(?,?,?)";
//创建PreparedStatement对象
PreparedStatement ps=conn.prepareStatement(sql);
//sql参数赋值
ps.setString(1,goods.getName());
ps.setDouble(2, goods.getPrice());
ps.setString(3, goods.getDescription());
ps.executeUpdate();//更新操作
ps.close();
conn.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
- 数据库 javabean 表:goods
标签:eclipse2021,java,String,无法访问,sql,mysql,public,javabean 来源: https://blog.csdn.net/weixin_43472893/article/details/120918484
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。