最近有java爬虫的项目,对于一个刚刚学习java的小白来说看网上各类层出不穷的爬虫框架、项目工程...完全看不懂,为此刻意学习了一下有关URL和Sql的知识。当然因为我很菜..所以就是最最最简单、傻瓜的操作了!
准备环境:
数据库:我用的Mysql (具体可以在官网下载:https://dev.mysql.com/downloads/installer/ (我这里用的是windows的)
参考安装步骤https://jingyan.baidu.com/article/0bc808fc0df3641bd485b9b3.html
自己也可以再去下载一个数据库的图形界面,我这里直接用命令行。
IDE: 由于不会用maven(所以说我真的太菜了TAT) 用的是eclipse
爬虫框架:这里先不说。(因为是完全从零开始哦
图形界面:就用java自带的Swing组件就可以了
搭建环境:
首先下载Mysql,点击上面给的链接,然后Download (我下载的300多M的)
下载好后就傻瓜式的next...中间有一个密码的设置root用户对应的密码,最后有一个finish就安装结束了.
右键点击“我的电脑”-“属性”-“高级”-“环境变量”-“系统变量”-双击“Path”-将mysql的路径“C:\Program Files\MySQL\MySQL Server 8.0\bin”添加进去-“确定”添加完毕之后,再到DOS下进行测试:
输入mysql -u root -p
输入密码(安装时root的密码)启动mysql命令行窗口。
然后检查一下环境变量PATH是否有添加C:\Program Files\MySQL\MySQL Shell 8.0\bin\
打开eclipse创建一个有Main.class的工程: 然后cv以下代码
package text;
//傻瓜式连接数据库;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Main {
public static void main(String args[]) {
try {
Class.forName("com.mysql.cj.jdbc.Driver"); //加载MYSQL JDBC驱动程序
System.out.println("Success loading Mysql Driver!");
}
catch (Exception e) {
System.out.print("Error loading Mysql Driver!");
e.printStackTrace();
}
try {
Connection connect = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/demo_01?serverTimezone=UTC&characterEncoding=utf-8 ","root","root");
//连接URL为 jdbc:mysql//服务器地址/数据库名 ,后面的2个参数分别是登陆用户名和密码
System.out.println("Success connect Mysql server!");
}
catch (Exception e) {
System.out.println("fail to connect");
}
}
}
输出了Success connect Mysql server!就是连接没有问题;
5.2
第一个登录界面的制作:如下图所示(这个算是仿的QQ登录界面,然后上面的图是我自己画的
然后刚开始做代码上面还是有很多问题
package windows;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
/*
* 初始登录界面
*/
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import sqldemo.SetDriver;
/*
* lb为顶端主题图片栏,lb1为注册账户,lb2为找回密码;
* bt为登录按键,namelb,passwordlab为ID,CODE提示字
*
*/
public class Window extends JFrame implements ActionListener{
/**
*
*/
static boolean flag;
private static final long serialVersionUID = 1L;
JPanel mb;
JLabel lb,lb1,lb2,lb3;
JLabel namelb ,passwordlab;
JButton bt;
JTextField username;
JPasswordField password;
JCheckBox select1,select2;
public Window() {
lb=new JLabel(new ImageIcon("C:\\计算机学习\\java爬虫项目\\工程文件\\interface.png"));
//这里的图片自己找一张,大小大概 570x160像素图片
mb=new JPanel();
username =new JTextField(20);
password=new JPasswordField(20);
namelb = new JLabel("ID");
passwordlab = new JLabel("Code");
/*
* 设置组件信息
*
*/
lb1=new JLabel("注册账号");
lb1.setForeground(new Color(28,134,238));
lb1.setFont(new Font("楷体",Font.PLAIN,16));
lb1.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
lb2=new JLabel("找回密码");
lb2.setForeground(new Color(28,134,238));
lb2.setFont(new Font("楷体",Font.PLAIN,16));
lb2.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
//设为与背景相同颜色就看不出来
select1=new JCheckBox("记住密码");
select1.setFont(new Font("楷体",Font.PLAIN,15));
select1.setBackground(Color.WHITE);
select2=new JCheckBox("自动登陆");
select2.setFont(new Font("楷体",Font.PLAIN,15));
select2.setBackground(new Color(255,250,250));
bt=new JButton("登 录");
//将面板的布局设为null,然后自定义布局
mb.setLayout(null);
mb.setBackground(Color.white);
//x,y,width,height; 130为左侧居中位置
/*
* 设置位置
*/
username.setBounds(130, 14, 250, 37);
username.setFont(new Font("宋体",Font.PLAIN,16));
password.setBounds(130,48, 250, 37);
password.setFont(new Font("宋体",Font.PLAIN,16));
namelb.setBounds(50,14,40,37);
passwordlab.setBounds(50, 48, 40, 37);
lb1.setBounds(420,10,80,34);
lb2.setBounds(420,50,80,34);
select1.setBounds(130,90,120,20);
select2.setBounds(290,90,120,20);
bt.setBounds(130,130,250,37);
bt.setFont(new Font("宋体",Font.PLAIN,16));
bt.setBackground(new Color(0,178,238));
bt.setForeground(Color.white);
//将组建添加到面板当中
mb.add(lb2);mb.add(lb1);mb.add(select1);mb.add(select2);
mb.add(bt);mb.add(username);mb.add(password);
mb.setSize(540,190);mb.add(namelb);mb.add(passwordlab);
this.add(lb,BorderLayout.NORTH);
this.add(mb,BorderLayout.CENTER);
this.setSize(550, 400);
//框头
this.setTitle("登录界面");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(400, 180);
this.setResizable(false);
this.setVisible(true);
bt.addActionListener(this);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Window frame1 =new Window();
}
public void getJudge(SetDriver d) throws SQLException, Exception {
flag = d.codeJudge();
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==bt)
{
String tname = username.getText();
String tpass = new String (password.getPassword());
username.setText("");
password.setText("");
SetDriver d = new SetDriver(tname,tpass);
lb.setIcon(new ImageIcon("C:\\loading2.gif"));
if(tname == null||tpass == null) {
}else {
try {
getJudge(d);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if(flag) lb.setIcon(new ImageIcon("C:\\loading1.gif"));
}
}
}
}
在自己疯狂debug后....终于解决了连接数据库登录界面关卡...
准备开始下一步 注册界面了...
https://blog.csdn.net/qq_42825732/article/details/90116999