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. MySql学习(二) —— where / having / group by / order by / limit 简单查询

    注:该MySql系列博客仅为个人学习笔记. 这篇博客主要记录sql的五种子句查询语法! 一个重要的概念:将字段当做变量看,无论是条件,还是函数,或者查出来的字段. select五种子句 where 条 ...

  2. Java代理模式/静态代理/动态代理

    代理模式:即Proxy Pattern,常用的设计模式之一.代理模式的主要作用是为其他对象提供一种代理以控制对这个对象的访问. 代理概念 :为某个对象提供一个代理,以控制对这个对象的访问. 代理类和委 ...

  3. LTE Air interface Channels-----http://www.rfwireless-world.com/Tutorials/LTE-logical-transport-physical-channels.html

    LTE technology works based on three channel types viz. logical channel,transport channel and physica ...

  4. Kettle6.0安装及问题总结-白痴教程

    1.安装JDK 配置java环境变量 2.安装KETTLE: 官方下载地址:http://community.pentaho.com/projects/data-integration/ 下载完后,解 ...

  5. Android数据存储方式

    Android提供了5种方式存储数据: 1.使用SharedPreferences存储数据:它是Android提供的用来存储一些简单配置信息的一种机制,采用了XML格式将数据存储到设备中.只能在同一个 ...

  6. 浅谈学习掌握linux系统的优势

    Linux系统让我们懂得了共享.开放.自由可以让人类生活的更加美好,开源精神是一种让每个从事Linux行业的技术人员从骨子里自豪的情怀,开源产品的兴盛受益于开源社区的强壮根基.Linux真的给了我很多 ...

  7. sql 查询服务器硬盘剩余空间

    DECLARE @tb1 Table( drive varchar(20), [MB 可用空间] varchar(20)) INSERT INTO @tb1 Exec master.dbo.xp_fi ...

  8. 发布自己的pods到CocoaPods trunk 及问题记录

    这两天准备把之前写的一些小玩意添加到pods库中去,参考了一些资料后进行操作,实际中也遇到了一些问题,记录下来,问题及解决方式在后面. 参考内容转载如下: 首先更新了用trunk之后,CocoaPod ...

  9. spout详解

    spout放在每个executer执行,我们先从spoutExecutors的初始化开始往下看,spoutExecutors是在一个worker中管理其中的tasks,在SpoutExecutors的 ...

  10. Cannot open the disk 'D:\Program Files\VMOS\Centos.vmdk' or one of the snapshot disks it depends on

    启动vmware时出现以下错误: Cannot open the disk 'D:\Program Files\VMOS\Centos.vmdk' or one of the snapshot dis ...