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. C语言编程风格(转发)

  2. ubuntu - 中文

    首先要从Ubuntu语言设置那里,把中文语言包安装上 打开/etc/environment 在下面添加如下两行 LANG="zh_CN.UTF-8″ LANGUAGE="zh_CN ...

  3. Spring Framework的核心:IOC容器的实现

    2.1   Spring IoC容器概述 2.1.1 IoC容器和依赖反转模式 依赖反转的要义,如果合作对象的引用或依赖关系的管理由具体对象来完成,会导致代码的高度耦合和可测性的降低.依赖控制反转的实 ...

  4. 简单研究下Retrofit

    2015-09-24 15:36:26 第一部分: 1. 什么是Retrofit? (点击图片有惊喜) 以上是来自官网的解释,言简意赅,咳咳,我就不翻译了~ 2. 如何使用Retrofit? 2.1 ...

  5. Bootstrap<基础二> 网格系统

    Bootstrap 提供了一套响应式.移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列. 什么是网格(Grid)? 摘自维基百科: 在平面设计中,网格 ...

  6. D1.1.利用npm(webpack)构建基本reactJS项目

    前提: 已经安装nodejs和npm #全局安装webpack 自动构建化工具,职能管理项目:webpack-dev-server是开发工具,提供 Hot Module Replacement 功能# ...

  7. 不安装HALCON下安装运行版U盘加密狗驱动

    参考halcon安装指导书 Installation Guide Depending on your operating system, you can install, configure, and ...

  8. hdu 1159, LCS, dynamic programming, recursive backtrack vs iterative backtrack vs incremental, C++ 分类: hdoj 2015-07-10 04:14 112人阅读 评论(0) 收藏

    thanks prof. Abhiram Ranade for his vedio on Longest Common Subsequence 's back track search view in ...

  9. 第二篇.Bootstrap起步

    第二篇Bootstrap起步 我们可以在http://getbootstrap.com下载bootstrap的文件 点击左边的download bootstrap可以下载bootstrap的css,j ...

  10. PowerMockito 同时mock多个对象

    有时候,需要测试的方法内有collections结构,就需要同时mock多个对象 被测方法: public class EmployeeService { public List<Integer ...