连接数据库的项目实例

article/2025/1/9 10:32:18

学生成绩管理系统

  • 关键词:java,SQL Server 2012

后端

  • 打开SQL Server 2012:
    这里写图片描述
  • 点击加号:
    这里写图片描述
  • 选中数据库,右键,新建数据库:
    这里写图片描述
  • 点击确定,等待片刻
  • 选中数据库,右键,刷新,即可看到:
    这里写图片描述

建表

  • 点击新建查询:
    这里写图片描述
  • 选择刚才新建的数据库,不然新建的表就存到别的数据库了,默认是master:
    这里写图片描述
  • 写建表语句:
create table student
( stdtId char(6),--学号,只能是6位stdtName varchar(10),--姓名class char(4),--班级,只能是4位grade int check(grade>=0 and grade<=100),--学生成绩,必须在0和100之间primary key(stdtId)--主键
);
create table teacher
( tcrId char(6),--教师编号,只能是6位tcrName varchar(10),--教师姓名primary key(tcrId)--主键
);
  • 点击执行:
    这里写图片描述

添加数据

insert into student values('201801','见血封喉','1801',89);
insert into student values('201811','独孤求败','1801',77);
insert into student values('201823','东方彧卿','1802',63);
insert into student values('201824','喋喋不休','1802',96);
insert into student values('201807','走马观花','1803',90);
insert into student values('201809','花天酒地','1803',98);
insert into student values('201833','地大物博','1804',83);
insert into student values('201861','博君一笑','1804',81);
insert into student values('201884','笑口常开','1805',76);
insert into student values('201895','开天辟地','1805',92);insert into teacher values('201607','滴水穿石');
insert into teacher values('201611','石破天惊');
insert into teacher values('201606','经天纬地');
  • 点击执行
  • 后端我们就先写到这里,虽然这家学校只有10名同学,3位老师
  • 但是,我们测试什么的已经够用了

前端

写代码

  • 打开eclipse,新建项目,命名为student:
    这里写图片描述
  • 右键src,新建一个package,命名为database(这里面我们打算写和数据库连接有关的类):
    这里写图片描述
  • 右键database,新建三个class,分别命名为:connection,preparedStatement,resultSet:
    这里写图片描述
  • 其中connection里面写:
package database;import java.sql.DriverManager;
import java.sql.Connection;public class connection {public static Connection getConnection() {String url="jdbc:sqlserver://LAPTOP-2FMIL3F1:1433;"+"DatabaseName=csdn";String user="sa";String password="1234";try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");     //System.out.println("数据库驱动加载成功!");Connection con = DriverManager.getConnection(url,user,password);if(null!=con) {//System.out.println("数据库连接成功!!");return con;}} catch (Exception e) {e.printStackTrace();}return null;}
}
  • 这个类的代码解析可以查看我的另一篇博客:如何使用JDBC连接数据库
  • preparedStatement里面写:
package database;import java.sql.PreparedStatement;public class preparedStatement {public static PreparedStatement getPreparedStatement(String sql) {try {PreparedStatement pstmt=connection.getConnection().prepareStatement(sql);return pstmt;} catch(Exception e) {e.getStackTrace();}return null;}}
  • resultSet里面写:
package database;import java.sql.ResultSet;public class resultSet {public static ResultSet getResultSet(String sql) {try {ResultSet rs=preparedStatement.getPreparedStatement(sql).executeQuery();return rs;} catch(Exception e) {e.getStackTrace();}return null;}}
  • 其它包和类如下图所示:
    这里写图片描述
  • query里面写:
package database;import java.sql.ResultSet;
import java.sql.SQLException;public class query {public static void queryStudent(String stdtId) {String sql="select * from student where stdtId='"+stdtId+"'";ResultSet rs=resultSet.getResultSet(sql);System.out.print("学号\t");System.out.print("姓名\t");System.out.print("班级\t");System.out.println("成绩");try {while(rs.next()) {System.out.print(rs.getString("stdtId")+"\t");System.out.print(rs.getString("stdtName")+"\t");System.out.print(rs.getString("class")+"\t");System.out.println(rs.getInt("grade"));}}catch(SQLException e) {System.err.println("查询出错 "+e.getStackTrace());}}public static void queryTeacher(String tcrId) {String sql="select * from teacher where tcrId='"+tcrId+"'";ResultSet rs=resultSet.getResultSet(sql);System.out.print("教师编号\t");System.out.println("姓名");try {while(rs.next()) {System.out.print(rs.getString("tcrId")+"\t");System.out.println(rs.getString("tcrName"));}}catch(SQLException e) {System.err.println("查询出错 "+e.getStackTrace());}}public static void queryStudent() {String sql="select * from student";ResultSet rs=resultSet.getResultSet(sql);System.out.print("学号\t");System.out.print("姓名\t");System.out.print("班级\t");System.out.println("成绩");try {while(rs.next()) {System.out.print(rs.getString("stdtId")+"\t");System.out.print(rs.getString("stdtName")+"\t");System.out.print(rs.getString("class")+"\t");System.out.println(rs.getInt("grade"));}}catch(SQLException e) {System.err.println("查询出错 "+e.getStackTrace());}}
}
  • Main里面写:
package heaven;import menu.mainMenu;public class Main {public static void main(String[] args) {mainMenu.menu();}
}
  • stdtLogin里面写:
package login;import java.sql.ResultSet;
import java.sql.SQLException;
import database.resultSet;public class stdtLogin {public static boolean login(String stdtId, String stdtName) {//学生登录,把学生姓名当作登录密码String sql="select stdtName from student where stdtId='"+stdtId+"'";int idExist=0;//账户不存在try {ResultSet rs=resultSet.getResultSet(sql);if(rs.next()) {idExist=1;if(stdtName.equals(rs.getString("stdtName"))) {return true;}}}catch(SQLException e) {System.err.println("学生登录出错  "+e.getStackTrace());}if(idExist==0) {System.err.println("账户不存在!!");}else {System.err.println("密码错误!!");}return false;}
}
  • tcrLogin里面写:
package login;import java.sql.ResultSet;
import java.sql.SQLException;import database.resultSet;public class tcrLogin {public static boolean login(String tcrId, String tcrName) {String sql="select tcrName from teacher where tcrId='"+tcrId+"'";int idExist=0;//账户不存在try {ResultSet rs=resultSet.getResultSet(sql);if(rs.next()) {idExist=1;if(tcrName.equals(rs.getString("tcrName"))) {return true;}}}catch(SQLException e) {System.err.println("教师登录出错 "+e.getStackTrace());}if(idExist==0) {System.err.println("账户不存在!!");}else {System.err.println("密码错误!!");}return false;}}
  • mainMenu里面写:
package menu;import java.util.Scanner;public class mainMenu {//主菜单public static void menu() {System.out.println("\n欢迎来到天堂大学\n");System.out.println("1.学生登录");System.out.println("2.教师登录");System.out.println("3.退出");Scanner input=new Scanner(System.in);System.out.println("请输入对应操作的序号:");int oprtNumber=0;if(input.hasNextInt()) {oprtNumber=input.nextInt();}switch(oprtNumber) {case 1:System.out.println("您选择了学生登录!!");studentLoginMenu.menu();break;case 2:System.out.println("您选择了教师登录!!");teacherLoginMenu.menu();break;case 3:System.out.println("感谢光临天堂大学!!");break;default:System.err.println("您的输入有误,请重新输入!!");		menu();}input.close(); }
}
  • stdtMenu里面写:
package menu;import database.query;public class stdtMenu {public static void menu(String stdtId) {System.out.println("你的信息如下:");query.queryStudent(stdtId);mainMenu.menu();}
}
  • studentLoginMenu里面写:
package menu;import java.util.Scanner;
import login.stdtLogin;public class studentLoginMenu {//学生登录菜单public static void menu() {String stdtId="";String stdtName="";Scanner input=new Scanner(System.in);System.out.println("请输入学号:");if(input.hasNextLine()) {stdtId=input.nextLine();}System.out.println("请输入姓名:");if(input.hasNextLine()) {stdtName=input.nextLine();}if(stdtLogin.login(stdtId, stdtName)) {System.out.println("登录成功!!!");stdtMenu.menu(stdtId);//登录成功,跳转到学生菜单}else {System.err.println("登录失败!!!");mainMenu.menu();//登录失败,返回主菜单}input.close();}
}
  • tcrMenu里面写:
package menu;import database.query;public class tcrMenu {public static void menu() {System.out.println("所有的学生信息如下:");query.queryStudent();mainMenu.menu();}
}
  • teacherLoginMenu里面写:
package menu;import java.util.Scanner;import login.tcrLogin;public class teacherLoginMenu {public static void menu() {String tcrId="";String tcrName="";Scanner input=new Scanner(System.in);System.out.println("请输入教师编号:");if(input.hasNextLine()) {tcrId=input.nextLine();}System.out.println("请输入姓名:");if(input.hasNextLine()) {tcrName=input.nextLine();}if(tcrLogin.login(tcrId, tcrName)) {System.out.println("登录成功!!!");tcrMenu.menu();//登录成功,跳转到教师菜单}else {System.err.println("登录失败!!!");mainMenu.menu();//登录失败,返回主菜单}input.close();}
}

添加jar包

  • 下载SQL Server 2012的驱动jar包
  • 项目右键,build path,Add External Archives,找到刚下载的jar包即可:
    这里写图片描述

大功告成

  • 双击Main,运行即可:
    这里写图片描述

备注

  • 有什么地方不明白的,可以评论区问我一下
  • 这只是一个简单的模板,大家可以在里面添加功能的,即在相应的包里面添加类就行了
  • 这是个例子,写得不好,可以重构一下

http://chatgpt.dhexx.cn/article/afWACWAJ.shtml

相关文章

SSM项目实例——简易版图书管理系统

文章目录 概述准备实现1.搭建数据库2.实现pojo层3.实现dao层4.实现service层5.配置Spring整合dao层6.配置Spring整合service层7.配置Spring整合Spring MVC8.配置Spring整合文件9.实现controller层10.实现view层11.运行前检查 运行后记 概述 通过对数据库中一张表的CRUD&#x…

vue-element-admin完整项目实例

项目运行地址&#xff1a;https://panjiachen.github.io/vue-element-admin/#/login 项目地址&#xff1a;https://github.com/PanJiaChen/vue-element-admin 项目地址&#xff1a;&#xff08;国际化&#xff09;https://github.com/PanJiaChen/vue-element-admin/tree/i18n 项…

购物车——js小项目实例

购物车——js小项目实例 首先构思好整体样式 添加点击事件&#x1f341;事件委托&#x1f341;接下来就是各种函数的书写 最后附上完整js代码 短短几周&#xff0c;js阶段的学习已然结束&#xff0c;结课作业就是实现一个购物车功能 功能&#xff1a; 1、可以添加商品 2、全选…

SpringBoot+Vue项目实例开发及部署

目录 一、SpringBoot快速上手 1、SpringBoot介绍 2、SpringBoot特点 3、快速创建SpringBoot应用 4、SpringBoot开发热部署 二、Web开发基础 1、Web入门 2、控制器 3、路由映射 4、参数传递 三、Web开发进阶 1、静态资源访问 2、文件上传原理 3、拦截器 四、构建…

微信小程序项目实例——手势解锁

微信小程序项目实例——手势解锁 文章目录 微信小程序项目实例——手势解锁一、项目展示二、设置手势、手势解锁三、手势重置文末&#xff1a;项目代码 项目代码见文字底部 一、项目展示 这是一款简单实用的手势解锁工具 手势解锁是当下常用的解锁方式 本实例以工具的形式 可以…

微信小程序项目实例——家居团购

微信小程序项目实例——家居团购 文章目录 微信小程序项目实例——家居团购一、项目展示二、首页三、购物车四、个人中心 项目代码见文字底部 一、项目展示 二、首页 首页由建材市场、团购活动、公益验房和线上拼团组成 从上到下分为广告区、导航区、内容区 核心代码如下&…

微信小程序项目实例——飞机大战

微信小程序项目实例——飞机大战 文章目录 微信小程序项目实例——飞机大战一、项目展示二、设计介绍三、总结 项目代码见文字底部&#xff0c;点赞关注有惊喜 一、项目展示 二、设计介绍 游戏和传统的飞机大战模式一样 这里设置了三种敌机和自家飞机的受损图 同时游戏设计了道…

微信小程序项目实例——双人五子棋

微信小程序项目实例——双人五子棋 文章目录 微信小程序项目实例——双人五子棋一、项目展示二、项目核心代码三、效果展示文末 项目代码见文字底部&#xff0c;点赞关注有惊喜 一、项目展示 微信小程序项目实例——双人五子棋 双人五子棋是一款游戏小程序 两位选手可以在15x1…

Android开发之项目实例(登录,注册)

Android开发 实现登录注册界面 前言&#xff1a; 今天项目刚刚做完&#xff0c;我就迫不急待的想分享一下&#xff0c;自己通过实例项目踩过的坑以及遇到遇到的困难发表一下&#xff0c;以便刚刚接触的伙伴跳跳坑&#xff0c;也便于自己在今后的开发中巩固&#xff0c;此篇文…

Django新手项目实例

1. 程序安装 &#xff08;1&#xff09;安装Django&#xff1a; pip3 install django&#xff08;2&#xff09;配置系统环境 成功安装Django后&#xff0c;在python目录script路径可找到django-admin.exe文件&#xff0c;将它加入操作系统环境变量中。这样以后调用会比较方便…

微信小程序项目实例——印记

微信小程序项目实例——印记 文章目录 微信小程序项目实例——印记一、项目展示二、日记列表三、日记发布文末 项目代码见文字底部&#xff0c;点赞关注有惊喜 一、项目展示 印记是一款简洁便利的日记本&#xff0c;用户可以在其中发布自己的日记本&#xff0c;同时也可以查看…

微信小程序项目实例——备忘录

微信小程序项目实例——备忘录 文章目录 微信小程序项目实例——备忘录一、项目展示二、项目介绍三、核心代码 项目代码见文字底部&#xff0c;点赞关注有惊喜 一、项目展示 二、项目介绍 项目是一个备忘录&#xff0c;拥有记录文字、计时和提醒的基本功能 项目只有一个页面&…

微信小程序项目实例——幸运大转盘

微信小程序项目实例——幸运大转盘 文章目录 微信小程序项目实例——幸运大转盘一、项目展示二、抽奖页三、领奖页文末&#xff1a;项目代码 项目代码见文字底部&#xff0c;点赞关注有惊喜 一、项目展示 幸运大转盘是一个简单的抽奖小程序 参与用户点击抽奖便可抽取轮盘的奖品…

微信小程序项目实例——狼人杀

微信小程序项目实例——狼人杀 文章目录 微信小程序项目实例——狼人杀一、项目展示二、首页三、游戏页四、特殊角色文末 项目代码见文字底部&#xff0c;点赞关注有惊喜 一、项目展示 狼人杀是一款多人参与的&#xff0c;通过语言描述推动、较量口才和分析判断能力的策略类桌…

project实操——项目实例

1. 新建项目 2. 设置项目日历 可以设置每周工作几天&#xff0c;每天工作几小时 点击 项目 -> 更改工作时间 在弹出窗口上&#xff0c;选择下方的“”工作周“选项卡&#xff0c;点击右侧的【详细信息】按钮 系统打开的详细信息窗口上&#xff0c; 选中左侧列表中的“周六…

Android Studio同步远程Git代码到本地

前一篇文件说如何将本地代码同步到远程Git服务器&#xff08;将代码同步到远程Git服务器&#xff09;&#xff0c;这篇说说如何在Android Studio中将远程代码同步到本地。 环境说明&#xff1a; 1、本地需要安装有git环境 2、Android Studio 3、存放项目的远程服务器地址&a…

git 同步远程和本地的同名分支

首先正常创建一个本地仓库&#xff0c;添加内容&#xff0c;跟远程关联 git init git add . git commit -m "" git remote add origin 远程仓库地址 如果在本地创建了一个新的分支 git checkout -b branch_one 然后将该分支直接推动到远程进行同步 git push -u …

使用git 实现本地文件和远程代码仓的互相同步

一、关于Git的安装与配置&#xff0c;可以参考这两篇文章 Git 详细安装教程&#xff08;详解 Git 安装过程的每一个步骤&#xff09; GitHub的安装与配置 二、同步本地文件与代码仓常规流程 1、在github上创建项目2、使用git clone https://github.com/xxxxxxx/xxxxx.git 克…

git(实现代码存档和同步)

远程仓库就是github&#xff0c;码云这些之类的&#xff0c;所有人都以远程仓库的文件作为最新版本 每个人都有自己的工作区&#xff08;本地电脑里面的一个文件夹&#xff09;&#xff0c;每个人都可以用clone把最新版本的文件复制到本地 比如我现在有四个文件&#xff0c;但…

[Git] 本地代码库和远程同步

一 前言 这本来不是一个很严重的问题, 有很多办法可以处理, 但是对于Git新手来说, 会觉得非常可怕, 因为不知道怎么恢复之前的状态, 不知道当前状态上传上去会造成什么影响, 最怕的是影响到master之类的主分支, 然后把别人的工作搞丢, 那就完蛋了. 我刚开始接触Git的时候, 上…