1、做这个简单的系统用到的技术分别有:java se、MySQL数据库、jdbc驱动等等技术。
2、软件有:idea、Navicat 15 for Mysql
3、流程是 用户在登录系统时->用用户名和密码进行登录->系统会通过用户输入的用户名和密码与数据库中的数据进行匹配->如果数据库中有->进入系统。 如果没有登录失败
项目有三个软件包 jdac(有Getconn类用来获取数据库连接对象)、uilt(有一个接口、
一个类用来实现接口、还有一个类用户进入系统)、uert(用户的属性类)
一、Getjdbc类
package jdbc;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import java.io.FileInputStream;
import java.sql.Connection;
import java.util.Properties;
public class GetJdbc {
public Connection getcon()throws Exception {
//1、new 配置文件
Properties properties = new Properties();
//2、加载配置文件
properties.load(new FileInputStream("./src/druid.properties"));
//3、获取数据库连接池
DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
//4、获取数据库连接对象
Connection connection = dataSource.getConnection();
return connection;
}
}
二、接口
package uilt;
public interface DaoServer {
void insert();//插入数据
void update();
void delete();
void show();
boolean Ligin();
}
实现接口类
package uilt;
import jdbc.GetJdbc;
import uert.Uert;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
//代码格式化 ctrl +alt +l
public class DaoTast implements DaoServer {
Connection connection;
PreparedStatement prest;
@Override
public boolean Ligin() {
ResultSet resultSet = null;
boolean flong = false;
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的用户名:");
String name = sc.nextLine();
System.out.println("请输入你的密码:");
int son = sc.nextInt();
String sql = "SELECT sname,son FROM `student` where sname=? and son=?";
try {
connection = new GetJdbc().getcon();
prest = connection.prepareStatement(sql);
prest.setString(1, name);
prest.setInt(2, son);
resultSet = prest.executeQuery();
if (resultSet.next()) {
flong = true;
System.out.println("登录成功");
} else {
System.out.println("你输入的密码或者用户名有误!!!!");
flong = false;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (prest != null) {
try {
prest.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
return flong;
}
@Override
public void show() {
List<Uert> uerslist = new ArrayList();
ResultSet resultSet = null;
String sql = "SELECT * FROM `student`";
try {
connection = new GetJdbc().getcon();
prest = connection.prepareStatement(sql);
resultSet = prest.executeQuery();
while (resultSet.next()) {
Uert uert = new Uert();
String son = resultSet.getString("son");
String sname = resultSet.getString("sname");
String sex = resultSet.getString("sex");
int age = resultSet.getInt("nage");
String specialty = resultSet.getString("specialty");
uert.setSon(son);
uert.setName(sname);
uert.setSex(sex);
uert.setAge(age);
uert.setSpecialty(specialty);
System.out.print(son + "\t");
System.out.print(sname + "\t");
System.out.print(sex + "\t");
System.out.print(age + "\t");
System.out.print(specialty + "\t");
System.out.println();
uerslist.add(uert);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (prest != null) {
try {
prest.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
@Override //删除数据
public void delete() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要删除的对象");
String name = sc.nextLine();
String sql = "DELETE student WHERE sname = ?";
}
@Override//修改数据
public void update() {
boolean key = true;
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要修改对象的姓名");
String name = sc.nextLine();
System.out.println("1、修改专业");
System.out.println("2、修改性别");
System.out.println("3、修改年龄");
System.out.println("4、退出修改");
System.out.println("请输入你要修改的内容");
int count = sc.nextInt();
while (key) {
switch (count) {
case 1:
String sql = "UPDATE student set specialty=? WHERE sName = ?";
try {
connection = new GetJdbc().getcon();//获取连接对象
prest = connection.prepareStatement(sql);//获取操作对象
System.out.println("请你想把专业修改为:");
String sex = sc.nextLine();
prest.setString(1, name);
prest.setString(2, sex);
if (prest.executeUpdate() > 0) {
System.out.println("修改成功");
} else {
System.out.println("修改失败");
}
} catch (
Exception e) {
e.printStackTrace();
} finally {
if (prest != null) {
try {
prest.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
break;
case 2:
String sql1 = "UPDATE student set sex=? WHERE sName = ?";
try {
connection = new GetJdbc().getcon();
prest = connection.prepareStatement(sql1);
System.out.println("请你想把性别修改为:");
String sex = sc.nextLine();
prest.setString(1, sex);
prest.setString(2, name);
if (prest.executeUpdate() > 0) {
System.out.println("修改成功");
} else {
System.out.println("修改失败");
}
} catch (
Exception e) {
e.printStackTrace();
} finally {
if (prest != null) {
try {
prest.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
break;
case 3:
String sql2 = "UPDATE student set age=? WHERE sName = ?";
try {
connection = new GetJdbc().getcon();
prest = connection.prepareStatement(sql2);
System.out.println("请你想把性别修改为:");
int age = sc.nextInt();
prest.setInt(1, age);
prest.setString(2, name);
if (prest.executeUpdate() > 0) {
System.out.println("修改成功");
} else {
System.out.println("修改失败");
}
} catch (
Exception e) {
e.printStackTrace();
} finally {
if (prest != null) {
try {
prest.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
break;
case 4:
key = false;
break;
}
}
}
@Override//增加数据
public void insert() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入姓名:");
String name = sc.nextLine();
System.out.println("请输入性别:");
String sex = sc.nextLine();
System.out.println("请输入年龄:");
int age = sc.nextInt();
System.out.println("请输入专业");
String spacielty = sc.nextLine();
String sql = "INSERT INTO student(sname,sex,nage,specialty) VALUES(?,?,?,?)";
try {
connection = new GetJdbc().getcon();
prest = connection.prepareStatement(sql);
prest.setString(1, name);
prest.setString(2, sex);
prest.setInt(3, age);
prest.setString(4, spacielty);
if (prest.executeUpdate() > 0) {
System.out.println("增加成功");
} else {
System.out.println("增加失败");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (prest != null) {
try {
prest.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
// public static void main(String[] args) {
// new DaoTast().Ligin();
// }
}
三、用户属性类
package uert;
public class Uert {
private String son;//学号
private String name;//姓名
private String specialty;//系部
private String sex;//性别
private int age;//年龄
public Uert(String son, String name, String specialty, String sex, int age) {
this.son = son;
this.name = name;
this.specialty = specialty;
this.sex = sex;
this.age = age;
}
public Uert() {
}
public String getSon() {
return son;
}
public void setSon(String son) {
this.son = son;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSpecialty() {
return specialty;
}
public void setSpecialty(String specialty) {
this.specialty = specialty;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
四、用户进入系统类
package uilt;
import java.util.Scanner;
public class TastPeoplr implements Runnable{
@Override
public void run(){
System.out.println("******* 欢迎来到管理系统*******");
System.out.println("1、向数据库中加入数据->");
System.out.println("2、修改数据库中的数据->");
System.out.println("3、删除数据库中的数据->");
System.out.println("4、查看数据库中的数据->");
System.out.println("5、退出系统 end");
DaoTast daoTast = new DaoTast();
Scanner sc = new Scanner(System.in);
boolean key=true;
while (key){
System.out.println("根据需求选择相对于的选项!!!");
int cont=sc.nextInt();
switch (cont){
case 1:
daoTast.insert();
key=false;
break;
case 2:
daoTast.update();
key=false;
break;
case 3:
daoTast.delete();
key=false;
break;
case 4:
daoTast.show();
key=false;
break;
case 5:
key=false;
break;
}
}
}
public static void main(String[] args) {
if (new DaoTast().Ligin()){
new Thread(new TastPeoplr()).start();
}
else {
System.out.println("登录失败");
}
}
}
五、连接池配置文件
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql:///mydatasbase
username=root
password=root
initialSize=10
maxActive=20