package com.TongXunLu.Select;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;
import com.TongXunLu.services.Person;
import com.TongXunLu.tools.Tools;public classSelectImplement implements SelectServices{
Scanner input=new Scanner(System.in);
Connection conn=null;
PreparedStatement pstm=null;
ResultSet rs=null;
Person p=newPerson();
@Overridepublic voidfindByName() {//按姓名查找
System.out.println("输入姓名,1-10为字母");try{
String name=input.next();
conn=Tools.getConnection();
pstm=conn.prepareStatement("select *from person where name=?");
pstm.setString(1, name);
rs=pstm.executeQuery();if(rs.next()){
p.setId(rs.getInt(1));
p.setName(rs.getString(2));
p.setAge(rs.getInt(3));
p.setSex(rs.getString(4));
p.setTelNum(rs.getString(5));
p.setAddress(rs.getString(6));
System.out.println(p.toString());
}else{
System.out.println("无此联系人!");
}
}catch(SQLException e) {
e.printStackTrace();
}finally{
Tools.Close(rs);
Tools.Close(pstm);
Tools.Close(conn);
}
}
@Overridepublic voidfindByAge() {
System.out.println("输入年龄,1-100+");int age=input.nextInt();try{
conn=Tools.getConnection();
pstm=conn.prepareStatement("select *from person where age=?");
pstm.setInt(1, age);
rs=pstm.executeQuery();while(rs.next()){
p.setId(rs.getInt(1));
p.setName(rs.getString(2));
p.setAge(rs.getInt(3));
p.setSex(rs.getString(4));
p.setTelNum(rs.getString(5));
p.setAddress(rs.getString(6));
System.out.println(p.toString());
}
}catch(SQLException e) {
e.printStackTrace();
}finally{
Tools.Close(rs);
Tools.Close(pstm);
Tools.Close(conn);
}
}
@Overridepublic voidfindBySex() {
System.out.println("输入性别,(男 m or M)(女 f or F)");
String sex=input.next();
String sex_Up=sex.toUpperCase();
String sex_Low=sex.toLowerCase();try{
conn=Tools.getConnection();
pstm=conn.prepareStatement("select *from person where sex=? or sex=?");
pstm.setString(1, sex_Up);
pstm.setString(2, sex_Low);
rs=pstm.executeQuery();while(rs.next()){
p.setId(rs.getInt(1));
p.setName(rs.getString(2));
p.setAge(rs.getInt(3));
p.setSex(rs.getString(4));
p.setTelNum(rs.getString(5));
p.setAddress(rs.getString(6));
System.out.println(p.toString());
}
}catch(SQLException e) {
e.printStackTrace();
}finally{
Tools.Close(rs);
Tools.Close(pstm);
Tools.Close(conn);
}
}
@Overridepublic voidfindByTel() {
System.out.println("输入电话号码,6-10位数字");
String TelNum=input.next();try{
conn=Tools.getConnection();
pstm=conn.prepareStatement("select *from person where TelNum=?");
pstm.setString(1, TelNum);
rs=pstm.executeQuery();while(rs.next()){
p.setId(rs.getInt(1));
p.setName(rs.getString(2));
p.setAge(rs.getInt(3));
p.setSex(rs.getString(4));
p.setTelNum(rs.getString(5));
p.setAddress(rs.getString(6));
System.out.println(p.toString());
}
}catch(SQLException e) {
e.printStackTrace();
}finally{
Tools.Close(rs);
Tools.Close(pstm);
Tools.Close(conn);
}
}
@Overridepublic voidfindByAddress() {
System.out.println("输入地址,1-50位字母或数字");
String address=input.next();try{
conn=Tools.getConnection();
pstm=conn.prepareStatement("select *from person where address=?");
pstm.setString(1, address);
rs=pstm.executeQuery();while(rs.next()){
p.setId(rs.getInt(1));
p.setName(rs.getString(2));
p.setAge(rs.getInt(3));
p.setSex(rs.getString(4));
p.setTelNum(rs.getString(5));
p.setAddress(rs.getString(6));
System.out.println(p.toString());
}
}catch(SQLException e) {
e.printStackTrace();
}finally{
Tools.Close(rs);
Tools.Close(pstm);
Tools.Close(conn);
}
}
}