新手使用MySQL Workbench以及用MyEclipse jsp 连接的几个坑

 一、MySQL Workbench的坑

 MySQL Workbench基本使用看这里  我直接说坑吧。

(一)往表里面添加汉字键值出现 Incorrect string value。

   这种情况是编码问题,貌似默认的是GBK的编码,需要改成utf-8

    点击表的右键,点击 Select Rows - Limits 1000 ,就会出现信息

我的:SELECT * FROM user.member_information;

   然后将出现的表名复制,替换下面的table_name 

   alter table table_name convert to character set utf8;   

  所以我的就变成这样:alter table user.member_information convert to character set utf8;

  最后点击圈出来的小闪电,注意要下面执行命令变成绿色才是执行成功!

  

 

   然后你就可以愉快的使用汉字作为键值了!

 (二)、怎么导入xls文件到数据库

  我使用MySQL Workbench导入过程出现下面错误,。。。。。。,又是一个小时的找问题(啊啊啊~awsl)

  打开xls文件,点击文件另存为,然后选中utf-8  cvs格式的文件。

 注意数据格式一定要弄对不然会丢失精度,比如身份证你会发现最后几位丢失。

解决办法如下:
在另存为前修改xls单元格的格式

我这里直接使用文本格式了,可以根据需求选择。

然后另存为

选择csv的格式,不然不能导入到数据库。

保存后,进入csv文件检查下,如果还有其他错误,则同理修改格式。

接下来导入到数据库
找到你想到导入到的表,点击右键选择,Table Date Import Wizard

然后选择需要导入的文件(这里一cvs为例子)

Use existing table 使用已经存在的表,下面个就是新建立个表,然后是表名,前面个是数据库名字,看自己的需求选择。

然后next就是

成功的导入会出现这个,打开Show Logs查看。

  然后等全部导入就OK了。

  个人吐槽:才1W多的数据导入就有点卡,所以以后几十万几百万的数据呢,数据的迁移是个问题!另外练手数据库需要大量数据啊,怎么来呢,嘿嘿记得某次比赛估摸着有几十G的数据,下次比赛弄点下来(手动狗头)。

二、MyEclipse jsp 连接的坑

  基本的连接看这里,基本的东西都有,驱动包点这里,不知道怎么没看到我上次找到的win的文件,那就附上百度云链接吧。

百度云链接:https://pan.baidu.com/s/1gfv3xsKyWr1D4Uc3qjZIRA 
提取码:qbni 
考虑到百度云下的太慢,来个速度快点的(手动狗头)

链接:https://pan.baidu.com/s/1ne9rfQK1FKu-SHsVdwAcBA 
提取码:nq6c 

说坑吧,我按照上面的使用总是抛出异常,而且还是一堆。

 有个需要注意的就是时区问题,不知道怎么时区对不上,然后就报错,一直连接失败!把url,改为下面这个,

注意端口后面的user是你数据库名字!复制的时候记得替换

String url="jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
    		

附上我JSP的连接代码:

<%
    		Connection con=null;
    		Statement stmt=null;
    		ResultSet rs=null;
    		Class.forName("com.mysql.jdbc.Driver");
    		//user是数据库名字
    		String url="jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
    		con=DriverManager.getConnection(url,"root","你的密码"); //账号也不一定是root,根据你自己的情况看。
    		stmt=con.createStatement();
    		String sql="select * from all_user";  //from 后面是查询的表名,SQL语句,不会百度,
    		rs=null;
    		rs=stmt.executeQuery(sql);
    		while(rs.next())  //显示所有的信息
    		{
    		%>
    		<tr>
    			<td><%=rs.getString("user_id") %></td>  //这里是你表的数据名
    			<td><%=rs.getString("user_name") %></td>
    			<td><%=rs.getString("password") %></td>
    			<td><%=rs.getString("limits") %>
    		</tr>
    		
    	<%	}
    	 	rs.close();
    	 	stmt.close();
    	 	con.close();
    	%>

 个人吐槽:数据库信息还是需要加密啊,浏览器抓个包全部抓到了,如果时间够的话,写个简单的JS加密。

课设加油,下周要搞定!

  来日方长,加油!维护机器人去了(好惨~)

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值