1.要从键盘录入用户名与密码我们需要使用Scanner类完成操作

2.接收到用户名与密码后,我们需要调用jdbc程序根据用户名与密码查询数据库

User.java

package com.supergroup.domian;

public class User{
private String id;
private String usernasme;
private String password;
private String email;
public User() {
super();
}
public User(String id, String usernasme, String password, String email) {
super();
this.id = id;
this.usernasme = usernasme;
this.password = password;
this.email = email;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUsernasme() {
return usernasme;
}
public void setUsernasme(String usernasme) {
this.usernasme = usernasme;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@Override
public String toString() {
return "User [id=" + id + ", usernasme=" + usernasme + ", password="
+ password + ", email=" + email + "]";
} }

Operation.java

package com.supergroup.operation;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; import com.supergroup.domian.User;
import com.supergroup.utils.JDBCUtils; public class Operation {
public static User select(User user) throws ClassNotFoundException,
SQLException {
User result = null;
Connection con = null;
Statement st = null;
ResultSet rs = null;
// TODO Auto-generated method stub con = JDBCUtils.getConnection();
PreparedStatement ps=con.prepareStatement("select * from user where username=? and password=?");
ps.setString(1, user.getUsernasme());
ps.setString(2, user.getPassword());
rs=ps.executeQuery(); if (rs.next()) {
result = new User(rs.getString(1), rs.getString(2),
rs.getString(3), rs.getString(4)); }
JDBCUtils.closeAll(rs, st, con); return result;
} public static User _select(User user) throws ClassNotFoundException,
SQLException {
User result = null;
Connection con = null;
Statement st = null;
ResultSet rs = null;
// TODO Auto-generated method stub con = JDBCUtils.getConnection();
st = con.createStatement();
rs = st.executeQuery("select * from user where username='"
+ user.getUsernasme() + "'and password ='" + user.getPassword()
+ "'");
if (rs.next()) {
result = new User(rs.getString(1), rs.getString(2),
rs.getString(3), rs.getString(4)); }
JDBCUtils.closeAll(rs, st, con); return result;
} }

JDBCUtils.java

package com.supergroup.utils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle; public class JDBCUtils {
private static String DRIVER;
private static String URL;
private static String UNAME;
private static String PWD;
static {
ResourceBundle rb = ResourceBundle
.getBundle("com.supergroup.utils.JDBC");
DRIVER = rb.getString("DRIVER");
URL = rb.getString("URL");
UNAME = rb.getString("UNAME");
PWD = rb.getString("PWD"); } static { try {
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public static Connection getConnection() throws SQLException,
ClassNotFoundException {
// TODO Auto-generated method stub return DriverManager.getConnection(URL, UNAME, PWD); } public static void closeAll(ResultSet rs, Statement st, Connection con)
throws SQLException {
if (rs != null)
rs.close();
if (st != null)
st.close();
if (con != null)
con.close(); } }

JDBC.properties

DRIVER=com.mysql.jdbc.Driver
URL=jdbc:mysql:///day06
UNAME=root
PWD=123456

View.java

package com.supergroup.view;

import java.sql.SQLException;
import java.util.Scanner; import com.supergroup.domian.User;
import com.supergroup.operation.Operation; public class View { public static void main(String[] args) throws ClassNotFoundException,
SQLException {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
System.out.println("请输入用户名");
String uname = sc.nextLine();
System.out.println("请输入密码");
String pwd = sc.nextLine();
User user = new User(null, uname, pwd, null);
user = Operation.select(user);
if (user == null) {
System.err.println("登录失败"); } else {
System.out.println("登录成功");
System.out.println(user);
} } }
+

day05 java JDBC案例—Android小白的学习笔记的更多相关文章

  1. day04关于MySqL—Android小白的学习笔记

    Mysql入门 1. 数据库基本知识(了解) 1.1.数据库介绍 1.1.1.什么是数据库?数据库的作用是什么? 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户 ...

  2. 20145213《Java程序设计》第八周学习笔记

    20145213<Java程序设计>第八周学习笔记 教材学习内容总结 "桃花春欲尽,谷雨夜来收"谷雨节气的到来意味着寒潮天气的基本结束,气温回升加快.刚出冬的我对于这种 ...

  3. Android安装器学习笔记(一)

    Android安装器学习笔记(一) 一.Android应用的四种安装方式: 1.通过系统应用PackageInstaller.apk进行安装,安装过程中会让用户确认 2.系统程序安装:在开机的时候自动 ...

  4. Java架构师-十项全能学习笔记(1)

    Java架构师-十项全能学习笔记(1) @Configuration @EnableStateMachine public class OrderStateMachineConfig extends ...

  5. android cocos2d-x for Android安装和学习笔记(请用adt-bundle21.1或以上导入)

    引用:http://weimingtom.iteye.com/blog/1483566 (20121108)注意:这篇文章用cdt编译ndk工程的内容已过时(现在可以用adt-bundle,避免配置繁 ...

  6. Java架构师之路 Spring学习笔记(一) Spring介绍

    前言 这是一篇原创的Spring学习笔记.主要记录我学习Spring4.0的过程.本人有四年的Java Web开发经验,最近在面试中遇到面试官总会问一些简单但我不会的Java问题,让我觉得有必要重新审 ...

  7. Android应用开发学习笔记之多线程与Handler消息处理机制

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 和JAVA一样,Android下我们可以通过创建一个Thread对象实现多线程.Thread类有多个构造函数,一般通 ...

  8. Android Room框架学习笔记

    一.使用 1.build.gradle引入 compile "android.arch.persistence.room:runtime:1.0.0" annotationProc ...

  9. Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(十三)之Strings

    Immutable Strings Objects of the String class are immutable. If you examine the JDK documentation fo ...

随机推荐

  1. javascript 手势缩放 旋转 拖动支持:hammer.js

    原文: https://cdn.rawgit.com/hammerjs/hammer.js/master/tests/manual/visual.html /*! Hammer.JS - v2.0.4 ...

  2. http Content-type对照表

    http://tools.jb51.net/table/http_content_type Content-Type,内容类型,一般是指网页中存在的Content-Type,用于定 义网络文件的类型和 ...

  3. ES6中块作用域之于for语句是怎样的?

    在ES6中新加了快作用域的概念(C语言就有,作为类c语言的js,当然应该加上),算是很好理解. { let i; } console.log(i);// i is not defined 在代码块当中 ...

  4. Memcached(1)-----基本介绍

    memcached memcached概述 memcached是LiveJournal旗下Danga Interactive公司开发的一款软件.memcached是一个高性能,分布式内存对象缓存系统, ...

  5. Windows平台下Git服务器搭建

    第一步:下载Java,下载地址:http://www.java.com/zh_CN/ 第二步:安装Java.安装步骤不再详述. 第三步:配置Java环境变量. 右键”计算机” => ”属性” = ...

  6. 关于win10系统自带浏览器IE11的JQuery使用问题

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="utf-8&quo ...

  7. 前端开发week3

    开发工具学习ing... lesscss 框架 lesscss是一种动态样式语言,属于css预处理语言的一种,它使用类似css的语法,为css的赋予了动态语言的特性,如变量.继承.运算.函数等,更方便 ...

  8. C++模拟C#事件委托机制(一)

    原文来自于http://www.cnblogs.com/netssfy/articles/1652671.html 写了一段时间的C#代码后确实发现C#的事件委托非常好用.于是便想是否在C++中也能如 ...

  9. as3 代码加解密

    private var loader:URLLoader; ... private function init():void { loader = new URLLoader; req=URLRequ ...

  10. CBitmap、HBITMAP、BITMAP相互转换

    一:理解 BITMAP是C++中定义的位图结构体 HBITMAP是Windows中使用的位图句柄 CBitmap是MFC封装的位图类 二:相互转换 1.HBITMAP->CBitmap 方法一: ...