码迷,mamicode.com
首页 > 数据库 > 详细

java-JDBC登录注册代码

时间:2017-01-04 21:22:18      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:rgs   cti   exception   password   注入   ann   prepare   href   ring   

登录:

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();
        
        
        
    }

 

java-JDBC登录注册代码

标签:rgs   cti   exception   password   注入   ann   prepare   href   ring   

原文地址:http://www.cnblogs.com/kuangwong/p/6250188.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!