zoukankan      html  css  js  c++  java
  • java-JDBC登录注册代码

    登录:

    public static void main(String[] args) throws Exception{
            Scanner sc = new Scanner(System.in);
            System.out.println("账号:");
            String uid = sc.nextLine();
            System.out.println("密码:");
            String pwd = sc.nextLine();
            
            Class.forName("com.mysql.jdbc.Driver");
            
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb","root","");
            String sql = "select * from users where user = ? and password = ?";
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1, uid);
            ps.setString(2, pwd);
            ResultSet rs = ps.executeQuery();
            boolean ok = rs.next();
            if(ok){
                System.out.println("欢迎"+rs.getString(3)+"回来");
            }
            else
            {
                System.out.println("您输入的账号密码有误");
            }
            }

    这是一个简单的通过输入数据跟数据库的数据比较来完成登录验证。这里用的是PreparedStatement

    PreparedStatement 与Statement 的区别

    1  有安全性

        PreparedStatement 可以由于不是使用拼接,防止了sql注入,提高了安全性。

    2  更方便

        PreparedStatement 可以自动对类型进行转换,代码可读性,可维护性提高。

    3  批处理

       PreparedStatement 有预编译功能,大批量的处理sql效率更高。(MySQL 不明显,Oracle 非常明显)

    注册:

    public static void main (String[] args) throws Exception{
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入账号");
            String uid = sc.nextLine();
            System.out.println("请输入密码");
            String pwd = sc.nextLine();
            System.out.println("请输入昵称");
            String nc = sc.nextLine();
            
            Class.forName("com.mysql.jdbc.Driver");
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?characterEncoding=GBK","root","");
            String sql =  "insert into users values (?,?,?)";
            
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1, uid);
            ps.setString(2, pwd);
            ps.setString(3, nc);
            ps.executeUpdate();
            conn.close();
            
            
            
        }
  • 相关阅读:
    vs 2015 安装
    NPOI封装
    c#事件求解
    一个ERP系统的磕磕碰碰
    谁动了我的产品
    MVC Sesion丢失问题
    设计模式之类关系
    免费的SqlServer优化辅助工具:SqlOptimize (原创)
    Entity Framework Linq 简单笔记
    RhinoMocks简单范例
  • 原文地址:https://www.cnblogs.com/kuangwong/p/6250188.html
Copyright © 2011-2022 走看看