1 JDBCutil.javapackage www.chinasofiti.eex.jdbcutil;import java.sql.Connection;import java.sql.DriverManager;public class JDBCutil {public static final String DRIVER = "oracle.jdbc.driver.OracleDriver";public static final String URL="jdbc:oracle:thin:@192.168.80.49:1521:XE";public static final String USER="SCOTT";public static final String PASSWORD="TIGER";public static Connection conn;public JDBCutil(){}public static Connection getConnection() throws Exception{Class.forName(DRIVER);//加载驱动conn=DriverManager.getConnection(URL,USER,PASSWORD);//链接数据库System.out.println(conn);System.out.println("数据库链接成功");return conn;}// public static void main(String[]args){// try {// getConnection();// } catch (Exception e) {// // TODO Auto-generated catch block// e.printStackTrace();// }// }}2 UserService.javapackage com.movobike.service;public interface UserService {public void regist() throws Exception;public boolean login() throws Exception;public void start() throws Exception;//开锁public void recharge() throws Exception;public void getStartTime()throws Exception;//计时开始public void getStopTime() throws Exception;//结束计时}3 UserServiceImpl.javapackage com.movobike.service;import java.text.SimpleDateFormat;import java.util.Scanner;import erDao;import erDaoImpl;import java.sql.Date;import java.text.*;public class UserServiceImple implements UserService{Boolean flag;UserDao ud=new UserDaoImpl();public static long pwd;public static int money;long numberID;java.util.Date date = new java.util.Date();long datetime=date.getTime();java.sql.Date dateSql= new java.sql.Date(datetime);public void regist() throws Exception{//注册函数System.out.println("请输入您的手机号来进行注册");Scanner scan = new Scanner(System.in);long numberID = scan.nextLong();//对用户输入的账号进行接受。
System.out.println("请输入您的密码");long password = scan.nextLong();//对用户输入的密码进行接受,但不判断。
flag=ud.DaoRegist(numberID, password);if (flag) {System.out.println("此号码已被注册,请直接登录!");}else{System.out.println("恭喜您注册成功,发个红包呗!!!!!");}}public boolean login () throws Exception {//登录函数System.out.println("请输入您的手机号登录");Scanner scan = new Scanner(System.in);numberID = scan.nextLong();//对用户输入的账号进行接受。
System.out.println("请输入您的密码登录");long password = scan.nextLong();//对用户输入的密码进行接受。
flag=ud.DaoLogin(numberID, password);if(flag){//调用dao层方法进行判断System.out.println("登录成功");}else{System.out.println("账户或密码有误");}return flag;}public void start() throws Exception{//开锁计费函数。
System.out.println("请输入您要骑行的车辆号码");Scanner scan = new Scanner(System.in);long bikeNumber = scan.nextLong();pwd=ud.getPwd(bikeNumber);System.out.println("此车密码为:"+pwd);System.out.println("请输入您得到的密码");long bikeWord = scan.nextLong();if(bikeWord==pwd){System.out.println("开锁成功,祝您旅途愉快");getStartTime();System.out.println("输入1还车");int reback=scan.nextInt();if(reback==1){getStopTime();System.out.println("车以归还,停止计时");}}else{System.out.println("不好意思,您输入的有误,请看清楚之后在输入");}}public void recharge() throws Exception{System.out.println("请输入充值金额¥");Scanner scan = new Scanner(System.in);int money = scan.nextInt();flag=ud.DaoRecharge(money,numberID);if(flag){System.out.println("恭喜您充值成功!");}}public void getStartTime()throws Exception{System.out.println(dateSql);flag=ud.DaoStartTimes(dateSql,numberID);if(flag){System.out.println("已经开始计时");}}public void getStopTime() throws Exception{ud.DaoStopTimes(dateSql,numberID);};}4 UserDao.javapackage com.movobike.dao;import java.sql.Date;public interface UserDao {public boolean DaoRegist(long id,long pwd) throws Exception;public boolean DaoLogin(long id,long pwd) throws Exception;public long getPwd(long bkId) throws Exception;//获取密码public boolean DaoRecharge(int money,long id) throws Exception;//充值public boolean DaoStartTimes(Date nowtime,long id)throws Exception;//开始骑行时间public boolean DaoStopTimes(Date nowtime,long id)throws Exception;//还车时间}5 UserDao.javapackage com.movobike.dao;import java.sql.Statement;import java.sql.Connection;import java.sql.ResultSet;import java.sql.Date;import java.sql.PreparedStatement;import www.chinasofiti.eex.jdbcutil.JDBCutil;public class UserDaoImpl implements UserDao {private static Connection conn;private static PreparedStatement s;private static Statement ss;private static ResultSet rs;public static boolean flag;public static long bkPwd;@Overridepublic boolean DaoRegist(long id,long pwd) throws Exception{ String sql1="select * from user_bike where id="+id;String sql2="insert into user_bike(id,password)values("+id+","+pwd+")";UserDaoImpl udi=new UserDaoImpl();conn=JDBCutil.getConnection();ss=conn.createStatement();rs=ss.executeQuery(sql1);//执行flag=rs.next();if(flag){}else{ss.execute(sql2);};return flag;}@Overridepublic boolean DaoLogin(long id,long pwd) throws Exception { // TODO Auto-generated method stubString sql="select * from user_bike where id=? and password=?";conn=JDBCutil.getConnection();s= conn.prepareStatement(sql);s.setLong(1, id);s.setLong(2, pwd);rs=s.executeQuery();flag=rs.next();return flag;}public long getPwd(long bkId) throws Exception{String sql="select bike_password from bike where id=?";conn=JDBCutil.getConnection();s= conn.prepareStatement(sql);s.setLong(1, bkId);rs=s.executeQuery();if(rs.next()){bkPwd=rs.getLong(1);}return bkPwd;}public boolean DaoRecharge(int money,long id) throws Exception { String sql="update user_bike set balance=balance+?"+"where id=?";conn=JDBCutil.getConnection();s= conn.prepareStatement(sql);s.setInt(1, money);s.setLong(2, id);rs=s.executeQuery();flag=rs.next();return flag;};public boolean DaoStartTimes(Date nowtime,long id)throws Exception{ String sql="update bike set begin_time=?"+"where id=?";conn=JDBCutil.getConnection();s= conn.prepareStatement(sql);s.setDate(1, nowtime);s.setLong(2, id);rs=s.executeQuery();flag=rs.next();return flag;}public boolean DaoStopTimes(Date nowtime,long id)throws Exception{ String sql="update bike set _time=?"+"where id=?";conn=JDBCutil.getConnection();s= conn.prepareStatement(sql);s.setDate(1, nowtime);s.setLong(2, id);rs=s.executeQuery();flag=rs.next();return flag;}}6 UserTest.javapackage test;import java.util.Scanner;import erServiceImple;public class UserTest {static UserServiceImple userServiceImple=new UserServiceImple(); static Scanner scanner=new Scanner(System.in);public static void main(String[] args) throws Exception {System.err.println("登录请输入:1\r\n注册请输入:2");int num=scanner.nextInt();if (num==1) {// num=1登录if(userServiceImple.login()){choice();}}else {// 注册并登录userServiceImple.regist();System.out.println("正在登录,请稍候...");Thread.sleep(2000);userServiceImple.login();while (true) {choice();}}}public static void choice() throws Exception{System.err.println("骑车请输入:1\r\n充值请输入:2");int num2=scanner.nextInt();switch (num2) {case 1:userServiceImple.start();break;case 2:userServiceImple.recharge();break;}}}。