java-十五周作业
题目1:编写一个应用程序,输入用户名和密码,访问test数据库中t_login表(字段包括id、username、password),验证登录是否成功。
题目2:在上一题基础上,当登录成功后,将t_user表(id、name、sex、birthday)的信息进行显示(要求使用DB.java完成登录和获取t_user表中数据的操作),最后再对t_user表进行一条记录的添加操作。
代码:
DB类
public class DB {
private Connection con;
private PreparedStatement pre;
private ResultSet rs;
private static DB db;
static{
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
DB(){
try {
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/db", "root", "");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static DB getInstance(){
if(db==null){
db = new DB();
}
return db;
}
public ResultSet executeSelect(String sql, Object[] args){
try {
pre = con.prepareStatement(sql);
if(args.length !=0){
for(int i=0;i<args.length;i++){
pre.setObject(i+1, args[i]);
}
rs = pre.executeQuery();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rs;
}
public int executeModify(String sql, Object[] args){
int n=0;
try {
pre = con.prepareStatement(sql);
if(args.length!=0){
for(int i=0;i<args.length;i++){
pre.setObject(i+1,args[i]);
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return n;
}
public void close(){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package ccut.cn; import ccut.cn.DB; import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner; public class test { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入用户名和密码:");
Scanner reader = new Scanner(System.in);
String username = reader.nextLine();
double password = reader.nextDouble();
ResultSet p;
ResultSet r;
DB db = new DB();
p = db.executeSelect("select * from t_login where username = '"+username+"' and password = '"+password+"'", args); try {
if(username.equalsIgnoreCase(username)){
System.out.println("登录成功");
r = db.executeSelect("select * from t_user", args);
while(r.next()) {
int id = r.getInt(1);
String name = r.getString(2);
int sex = r.getInt(3);
String birthday =r.getString(4);
System.out.println("id:"+id+"\tname:"+name+"\tsex:"+sex+"\tbirthday:"+birthday);
}
System.out.println("请输入需要添加的记录内容为:");
int new_id = reader.nextInt();
String newname = reader.next();
int newsex = reader.nextInt();
String newdate =reader.next();
String sql="insert into t_user(id,name,sex,birthday) values("+new_id+",'"+newname+"',"+newsex+",'"+newdate+"')";
int n =db.executeModify(sql, args);
if(n>0) {
System.out.println("数据插入成功");
}else {
System.out.println("数据插入失败");
}
} else{
System.out.println("登录失败!");
} //} //catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
//e.printStackTrace();
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }
java-十五周作业的更多相关文章
- Java第十五周作业
Cola公司的雇员分为以下若干类:(知识点:多态) [必做题]• 4.1 ColaEmployee :这是所有员工总的父类,属性:员工的姓名,员工的生日月份.方法:getSalary(int mont ...
- Java第五周作业+总结
实验三 String类的应用 实验目的 掌握类String类的使用: 学会使用JDK帮助文档: 实验内容 1.已知字符串:"this is a test of java".按要求执 ...
- g第十四周,十五周作业
1.数组中偶数的和 #include <stdio.h> int main(){ ; ]; ;i<=;i++) { scanf("%d ",&a[i]); ...
- java第五周作业
Java Applet Applet 是一种 Java 程序.它一般运行在支持 Java 的 Web 浏览器内.因为它有完整的 Java API支持,所以Applet 是一个全功能的 Java 应用程 ...
- python第八十四天---十五周作业
后台管理页面: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- C语言——第十四、十五周作业
题目 题目一:交换最小值和最大值 1.实验代码 #include<stdio.h> int main() { ; int i , n; int a[N]; int x , y; scanf ...
- java 十五周总结
- 20199310《Linux内核原理与分析》第十五周作业 Linux安全实验
1 补充知识 缓冲区溢出是指程序试图向缓冲区写入超出预分配固定长度数据的情况.这一漏洞可以被恶意用户利用来改变程序的流控制,甚至执行代码的任意片段.这一漏洞的出现是由于数据缓冲器和返回地址的暂时关闭, ...
- 第十五周博客作业 <西北师范大学| 周安伟>
第十五周作业 助教博客链接https://home.cnblogs.com/u/zaw-315/ 作业要求链接https://www.cnblogs.com/nwnu-daizh/p/10946673 ...
- 201771010134杨其菊《面向对象程序设计(java)》第十五周学习
第十五周学习总结 第一部分:理论知识 JAR文件: 应用程序首选项存储: Java Web Start JAR文件: 1.Java程序的打包:程序编译完成后,程序员将.class文件压缩打包为.jar ...
随机推荐
- 腾讯云+阿里云 搭建hadoop + hbase
目录 服务器配置 hadoop hbase JAVA测试 历时两天,踩了无数坑最后搭建成功... 准备 两台服务器都安装jdk1.8(最好装在相同路径). hadoop 下载 hbase 下载 这里使 ...
- java源码 -- HashSet
概述 HashSet是基于HashMap来实现的, 底层采用HashMap的key来保存数据, 借此实现元素不重复, 因此HashSet的实现比较简单, 基本上的都是直接调用底层HashMap的相关方 ...
- Word 删除脚注尾注前边的编号
1. 前言 一般我们插入尾注都是有编号的,怎么插入无编号的尾注? 2. 步骤 进入引用选项卡,然后注意不要点插入脚注,而要点脚注最右下方的小方框,出现脚注和尾注的对话框,点符号(Y)...,选第一个格 ...
- Java中将字符串用空格分割成字符串数组的split方法
官方文档链接:public String[] split(String regex) 本文以空格作为分割串. CaseOne import java.util.Scanner; public clas ...
- AtCoder练习
1. 3721 Smuggling Marbles 大意: 给定$n+1$节点树, $0$为根节点, 初始在一些节点放一个石子, 然后按顺序进行如下操作. 若$0$节点有石子, 则移入盒子 所有石子移 ...
- 从jvm源码看synchronized
从jvm源码看synchronized 索引 synchronized的使用 修饰实例方法 修饰静态方法 修饰代码块 总结 Synchronzied的底层原理 对象头和内置锁(ObjectMonito ...
- Asp.Net Core 轻松学系列-1阅读指引目录
https://www.cnblogs.com/viter/p/10474091.html 目录 前言 1. 从安装到配置 2. 业务实现 3. 日志 4. 测试 5. 缓存使用 6.网络和通讯 7. ...
- JS基础_函数作用域
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Python练习_数据类型_day4
题目 1.作业 1,写代码,有如下列表,按照要求实现每一个功能 li = ["alex", "WuSir", "ritian", " ...
- vue购物车动画效果
使用动画的三个函数 v-on:before-enter="beforeEnter" v-on:enter="enter" v-on:after-enter=&q ...