实训项目:用户登录系统(jdbc)
- 格式:doc
- 大小:403.00 KB
- 文档页数:23
项目名称 :用户管理系统 开发环境 : 1. JDK 6.0 2. Eclipse 3.3或MyEclipse6.0 3. Oracle 10g 软件功能 : 1. 注册功能: 用户可以注册成本软件的用户。(注:权限是 普通用户) 如下图: 2. 登录功能: 用户输入用户名和密码。断用户是否存在 存在:提取用户的权限 权限如果是:管理员的话则显示如下图
权限如果是:普通用户的话则显示如下图: 3. 普通用户的修改功能 普通用户可以修改自己的name ,pass ,mail 不能修改权限和ID。 运行效果如下图:
4. 普通用户的查询功能 普通用户可以查询自己的详细信息 运行效果如下图: 5. 管理员的添加功能 管理员的添加和普通用户的注册一样。Id自动分配。权限是普通用户: 运行效果如图: 6. 管理员的修改功能: 管理员可以修改任何人的信息。(注:可以把普通用户修改成管理员)根据id 修改某个用户信息 运行效果如图:
7. 管理员的查询功能: 管理员可以有三个查询方式: 运行效果如图: 1. 全部查询: 运行效果如图: 2. 根据id查询某一个用户: 运行效果如图: 3. 根据用户名查询:支持模糊查询 运行效果如图:
8. 管理员的删除功能: 运行效果如图: 工作流程图: import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; public class administrator { final static connection connect= new connection(); final static Connection conn = connect.connectDbByOci(); String selectAdminTable = "select * from admintable";
String adminTable = "create table admintable(username varchar(20))"; String selectAdmin = "select * from admintable where username='admin'"; String insertDefaultAdmin = "insert into admintable(username) values('admin')"; String selectAdminOnUsertable = "select * from usertable where username='admin'"; String insertAdminToUsertable = "insert into usertable(username,passwd,usermail) values('admin','1234','admin@1234')"; public administrator() { try { Statement stmt = conn.createStatement(); //stmt.executeUpdate(selectAdmin); stmt.executeUpdate(selectAdminTable);//查看管理员的表是否存在 if (stmt!=null) { stmt.close(); } } catch(SQLException e) { try { Statement stmt = conn.createStatement(); //stmt.executeUpdate(defaultAdmministator); stmt.executeUpdate(adminTable);//创建管理员表 if (stmt!=null) { stmt.close();
用户注册 用户登录
判断用户是否存存在
普通用户 Yes No 判断用户权限 管理员 普通用户 管理员
修改个人信息 查询个人信息 查询用户 添加用户 删除用户 修改用户 查询全部用户 根据ID查询 根据NAME查 } } catch (SQLException a) { a.printStackTrace(); } } try { Statement stmt = conn.createStatement(); if(stmt.executeUpdate(selectAdmin)==0)//查看有没有admin这个管理员账号 { stmt.executeUpdate(insertDefaultAdmin); } if(stmt.executeUpdate(selectAdminOnUsertable)==0) { stmt.executeUpdate(insertAdminToUsertable); } if (stmt!=null) { stmt.close(); } } catch(SQLException e) { e.printStackTrace(); } } public administrator(String username,String passwd,String usermail)//可提供创建管理员的方法 { String insertAdmintable = "insert into admintable(username) values('"+username+"')"; String selectAdminuser = "select * from usertable where username='"+username+"'"; String insertAdminUser = "insert into usertable(username,passwd,usermail) values('"+username+"','"+passwd+"','"+usermail+"')"; try { Statement stmt = conn.createStatement(); stmt.executeUpdate(insertAdmintable); if(stmt.executeUpdate(selectAdminuser)==0) { stmt.executeUpdate(insertAdminUser); } else { System.out.println("更新失败!请换个管理员用户名"); } if (stmt!=null) { stmt.close(); } } catch (SQLException c) { c.printStackTrace(); } } } import java.sql.*; public class connection { final static String sDBDriver = "oracle.jdbc.driver.OracleDriver"; final static String sConnStr = "jdbc:oracle:oci8:system/manager@ORCLLGG";//oci方法 //final static String sConnStr = "jdbc:oracle:thin:@localhost:1521:ORCLLGG";//thin方法连接数据库 public connection() { } public Connection connectDbByOci() { Connection conn=null; try { Class.forName(sDBDriver); //conn = DriverManager.getConnection(sConnStr,"sys as sysdba","oracle"); conn = DriverManager.getConnection(sConnStr); } catch (Exception e) { System.out.println("error:"+e.getMessage()); } return conn; } } import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement;
//import java.util.Scanner; public class CreateUserTable { final static connection connect= new connection(); final static Connection conn = connect.connectDbByOci(); String createUserinfo = "create table usertable(id number,username varchar(20),passwd varchar(20),usermail varchar(20))"; //存放用户信息表 String selectUserTable = "select * from usertable"; //定义触发器 String idSeq = "create sequence user_id start with 1 increment by 1 nomaxvalue"; String selectSeq = "select sequence_name from all_sequences where sequence_name='USER_ID'"; String idTrigger = "create or replace trigger id_trg before insert on usertable for each row begin if inserting then select user_id.nextval into :new.id from dual;end if;end;"; public CreateUserTable() { try { Statement stmt = conn.createStatement(); /*if (stmt.executeUpdate(selectMailTable) != 0)//存放用户邮箱的表selectMailTable { stmt.executeUpdate(query); }*/ stmt.executeUpdate(selectUserTable);//查看是否有这个用户表 if (stmt!=null) { stmt.close(); }