day05 java JDBC案例—Android小白的学习笔记
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小白的学习笔记的更多相关文章
- day04关于MySqL—Android小白的学习笔记
Mysql入门 1. 数据库基本知识(了解) 1.1.数据库介绍 1.1.1.什么是数据库?数据库的作用是什么? 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户 ...
- 20145213《Java程序设计》第八周学习笔记
20145213<Java程序设计>第八周学习笔记 教材学习内容总结 "桃花春欲尽,谷雨夜来收"谷雨节气的到来意味着寒潮天气的基本结束,气温回升加快.刚出冬的我对于这种 ...
- Android安装器学习笔记(一)
Android安装器学习笔记(一) 一.Android应用的四种安装方式: 1.通过系统应用PackageInstaller.apk进行安装,安装过程中会让用户确认 2.系统程序安装:在开机的时候自动 ...
- Java架构师-十项全能学习笔记(1)
Java架构师-十项全能学习笔记(1) @Configuration @EnableStateMachine public class OrderStateMachineConfig extends ...
- android cocos2d-x for Android安装和学习笔记(请用adt-bundle21.1或以上导入)
引用:http://weimingtom.iteye.com/blog/1483566 (20121108)注意:这篇文章用cdt编译ndk工程的内容已过时(现在可以用adt-bundle,避免配置繁 ...
- Java架构师之路 Spring学习笔记(一) Spring介绍
前言 这是一篇原创的Spring学习笔记.主要记录我学习Spring4.0的过程.本人有四年的Java Web开发经验,最近在面试中遇到面试官总会问一些简单但我不会的Java问题,让我觉得有必要重新审 ...
- Android应用开发学习笔记之多线程与Handler消息处理机制
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 和JAVA一样,Android下我们可以通过创建一个Thread对象实现多线程.Thread类有多个构造函数,一般通 ...
- Android Room框架学习笔记
一.使用 1.build.gradle引入 compile "android.arch.persistence.room:runtime:1.0.0" annotationProc ...
- Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(十三)之Strings
Immutable Strings Objects of the String class are immutable. If you examine the JDK documentation fo ...
随机推荐
- 深度剖析Linux与Windows系统的区别
当我们每个人接触Linux之前,应该先接触的都是windows吧?但我们一般接触Linux后,习惯linux的管理和使用方法后,我们再回过头再来使用windows的时候,内心其实是拒绝的.我们会觉得图 ...
- Cocopods不显示三方库的解决方法
把 $(PODS_ROOT) 的字段添加到 User Header Search Paths 的文件路径下
- 用Curl测试POST
POST请求 http://172.16.102.208:8089/wiapi/score?leaderboard_id=1&score=36&app_key=66 目的1:通过脚本发 ...
- Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试
Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试一.下载相关安装包 1.下载nginx最新版本(nginx1.3.13版之后才支持websocket协议) 下载地址 ...
- 1、jvm的体系结构
jvm包括两子系统两组件 a.两子系统:Class Loader子系统,Execution engine子系统 b.两组件:Runtime Date Area 和 Native Interface
- flume从kafka中读取数据
a1.sources = r1 a1.sinks = k1 a1.channels = c1 #使用内置kafka source a1.sources.r1.type = org.apache.flu ...
- web开发流程(传智播客-方立勋老师)
1.搭建开发环境 1.1 导入项目所需的开发包 dom4j-1.6.1.jar jaxen-1.1-beta-6.jar commons-beanutils-1.8.0.jar commons-log ...
- JS数组中every(),filter(),forEach(),map(),some()方法学习笔记!
ES5中定义了五种数组的迭代方法:every(),filter(),forEach(),map(),some(). 每个方法都接受两个参数:要在每一项运行的函数(必选)和运行该函数的作用域的对象-影响 ...
- web前端基础篇⑨
1.web端.app端 目前实现响应式布局,主要用以下两种方式.CSS原生代码响应式布局 @media screen.bootstrap移动设备优先.自带框架. 兼容性 用原生代码的话 根据不同的屏幕 ...
- Python开发入门与实战17-新浪云部署
17. 新浪云部署 上一章节我们介绍了如何在本地windows服务器部署python django的网站,本章我们简要说明一下如何把python django工程部署到云服务上. 本章章节我们描述如何 ...