1.创建JAVA项目

  1. 打开MyEclipse-->创建JAVA项目(new Java Project)-->在项目下建一个文件夹:lib -->把sqljdbc4.jar复制到项目lib目录下-->选中项目中sqljdbc4.jar-->鼠标右键-->build path-->add...
  2. 在刚创建的JAVA项目中,新建一个类,类中包含main函数.
  3. 写代码

因要使用三方插件,JAVA必须要求进行错误处理

//注意:main()函数多了 throws Exception 这段文字.表示这个函数怎么处理异常.
public class SQLHelper {
    public static void main(String[] args) throws Exception {
    }
}

连接到数据库分2步:1.注册驱动,2.创建连接提示:jdbc连接数据库前:数据库服务器必须启动,开启了TCP/IP服务,JDBC所连接的数据库必须已创建好.

//1.注册驱动,告诉软件要用哪个驱动.
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//2.创建连接,把软件与数据库之间连起来.
        /*
        参数解析
        第一个参数:jdbc:sqlserver://127.0.0.1:1433;DatabaseName=student
        127.0.0.1:1433    数据库服务器的IP:端口
        DatabaseName=student    要进行连接的数据库名:这里是student
        第二个参数:sa  登陆数据库的用户名
        第三个参数:123456
        */
Connection conn = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;DatabaseName=student","sa","123456");

创建statement对象,用他来对数据库进行操作(执行数据库任务)

//3.如果想操作数据库,必须要个跑腿的:Statement对象
Statement stmt = conn.createStatement();
//4.有了statement对象,则可以对数据库进行操作了,非查询用:executeUpdate()方法,查询用:executeQuery()
stmt.executeUpdate("create table test(id int primary key not null,name varchar(50))");

注册功能

package com.sykp.eshop;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

import com.sykp.jdbc.SQLHelper;
import com.sykp.md5.Md5;

public class Eshop {

    
    static SQLHelper sql = new SQLHelper();
    /**
     * 主程序
     * @param args
     */
    public static void main(String[] args) {
        
        while(true){
            //打印出主菜单
            Menu.print01();
            Scanner input = new Scanner(System.in);
            String flag = input.next();
            if(flag.equals("1")){
            //1是注册:
                //注册开始====================================
                reg();
                continue;
                //注册结束==========================================
            }else if(flag.equals("2")){
            //2.是登陆
            }else if(flag.equals("0")){
                System.out.println("成功退出!");
                return;
            }
        }

    }
    /**
     * @param input
     */
    private static void reg() {
        
        Scanner input = new Scanner(System.in);
        while(true){
            //1.1注册第一步:从键盘接收用户名与密码
            System.out.println("请输入用户名:");
            String userName = input.next();
            System.out.println("请输入密码:");
            String passworld = input.next();
            
            //处理及判断是否合法
            //1.1.1去前后空格
            userName = userName.trim();
            passworld = passworld.trim();
            //1.1.2.判断是否合法,我们没学正则,暂时判断它的长度
            if(userName.length() < 2 || passworld.length() < 2)
            {
                System.out.println("用户名或密码长度不符合要求!请重输!");
                continue;//跳出本次循环,继续下一次
            }
            //1.1.3判断用户名是否已存在
            sql.open();
            ResultSet re = sql.select("select count(*) as rcount from e_user where name='"+userName+"'");
            int rows = 0;
            try {
                while(re.next()){
                    rows = re.getInt("rcount");
                }
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            sql.close();//关闭数据库注意时机.
            if(rows > 0){
                System.out.println("用户名已存在!请重输");
                continue;//跳出本次循环,继续下一次
            }
            //1.2 把密码进行MD5加密
            passworld = Md5.getMD5(passworld);
            //1.3 把用户名与密码写入数据库,并提示注册成功.

            //sql.dataName = "eshop";
            sql.open();
            sql.update("insert into e_user(name,pwd) values('"+userName+"','"+passworld+"')");
            sql.close();
            System.out.println("注册成功!");
            break;
        }
    }

}

登陆功能

//登陆开始=============================
                int logCount = 0;
                while(logCount < 3){
                    
                    Scanner input1 = new Scanner(System.in);
                    System.out.print("请输入用户名:");
                    String userName = input1.next();
                    System.out.print("请输入密码:");
                    String passworld = input1.next();
                    
                    //去前后空格
                    userName = userName.trim();
                    passworld = passworld.trim();
                    //判断用户名或密码少于2位,直接不登陆...
                    if(userName.length() < 2 || passworld.length() < 2)
                    {
                        System.out.println("用户名或密码长度不符合要求!请重输!");
                        continue;//跳出本次循环,继续下一次
                    }
                    //去数据库检测是否能登陆成功
                    sql.open();
                    ResultSet re = sql.select("select count(*) as rcount from e_user where name='"+userName+"' and pwd='"+Md5.getMD5(passworld)+"'");
                    int rows = 0;
                    try {
                        while(re.next()){
                            rows = re.getInt("rcount");
                        }
                    } catch (SQLException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    sql.close();//关闭数据库注意时机.
                    if(rows != 1){
                        System.out.println("登陆不成功!您还有"+(3-logCount-1)+"次机会!");
                    }else{
                        System.out.println("登陆成功!");
                        break;
                    }
                    logCount++;//登陆次数+1
                }
                //登陆三次循环到这
                if(logCount >= 3){
                    System.out.println("登陆错误三次,程序退出!");
                    System.exit(0);//退出程序
                }
                //登陆结束=============================