ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

解决在eclipse2021中,用mysql-connector-java-8.0.18.jar不兼容,导致无法访问数据库问题(2021-10-23)

2021-10-23 12:02:24  阅读:294  来源: 互联网

标签: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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有