jdbc实现宠物商店管理系统

用jdbc实现宠物商店管理系统

1.开发语言:Java
2.开发工具:eclipse,MySql数据库
3.开发环境:jdk1.8
4.操作系统:win10

这里是运行图片,代码在图片下面

这里是主程序测试类Test

// Main
package petStore1;

public class Test {

 public static void main(String[] args) {
 System.out.println("宠物商店启动");
 PetManage pm=new PetManage();
 pm.showAll();

 }
}

这里是工具类BaseDAO

用来对数据库进行增删改查的一个工具类

// BaseDAO
package petStore1;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class BaseDAO {

 public Connection conn = null;
 public PreparedStatement state = null;
 public ResultSet rs = null;

 public Connection getConnection() {
 try {
 Class.forName("com.mysql.jdbc.Driver");
 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/petshop", "root", "123");
 } catch (Exception e) {
 e.printStackTrace();
 }
 return conn;
 }
 public int update(String sql, Object...obs) throws SQLException {
 int result = 0;
 conn = getConnection();
 state = conn.prepareStatement(sql);

 for (int i = 0; i < obs.length; i++) {
 state.setObject(i + 1, obs[i]);
 }
 result = state.executeUpdate();
 return result;
 }

 public ResultSet search(String sql, Object...obs) {
 try {
 conn = getConnection();
 state = conn.prepareStatement(sql);
 for (int i = 0; i < obs.length; i++) {
 state.setObject(i + 1, obs[i]);
 }
 rs = state.executeQuery();
 } catch (SQLException e) {
 // TODO Auto-generated catch block
 e.printStackTrace();
 }
 return rs;
 }
 public void closeObject1() {
 try {
 if (rs != null) {
 rs.close();
 }
 if (state != null) {
 state.close();
 }
 if (conn != null) {
 conn.close();
 }
 } catch (Exception e) {
 e.printStackTrace();
 }
 }
 public void closeObject2(AutoCloseable... obs) {
 try {
 for (int i = 0; i < obs.length; i++) {
 if (obs[i] != null) {
  obs[i].close();
 }
 }
 } catch (Exception e) {
 e.printStackTrace();
 }
 }

}

这里是要用到的所有方法的一个类PetManage

因为我还没学怎么合理的把各种类放到各个包,以及框架什么的,我暂时先放在一个类里面了,繁杂且无序,抱歉

package petStore1;

import java.sql.Connection;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.InputMismatchException;
import java.util.Scanner;

public class PetManage extends BaseDAO{
 public void showAll(){
 showPetName();
 showPetOwner();
 showPetStore();
 login();
 }

 /**
 * 显示宠物的姓名以及ID方法
 */
 public void showPetName(){
 conn=getConnection();
 String sql="SELECT ID,name from pet";
 try {
 state=conn.prepareStatement(sql);
 rs=state.executeQuery();
 System.out.println("Wonderland醒来,所有宠物从MySQL中醒来");
 System.out.println("*************************************");
 while(rs.next()){
 int id=rs.getInt("ID");
 String name=rs.getString("name");
 System.out.println("第"+id+"只宠物,名字叫:"+name);
 }
 System.out.println("*************************************\n");
 } catch (Exception e) {
 e.printStackTrace();
 }finally{
 closeObject1();
 }

 }
 /**
 * 显示宠物主人方法
 */
 public void showPetOwner(){
 conn=getConnection();
 String sql="SELECT pet.ID,petowner.name from petowner,pet where petowner.ID=owner_id";
 try {
 state=conn.prepareStatement(sql);
 rs=state.executeQuery();
 System.out.println("所有宠物主人从MySQL中醒来");
 System.out.println("*************************************");
 while(rs.next()){
 int id=rs.getInt("pet.ID");
 String name=rs.getString("petowner.name");
 System.out.println("第"+id+"只宠物主人,名字叫:"+name);
 }
 System.out.println("*************************************\n");
 } catch (Exception e) {
 e.printStackTrace();
 }finally{
 closeObject1();
 }
 }
 /**
 * 显示宠物商店方法
 */
 public void showPetStore(){
 conn=getConnection();
 String sql="SELECT name from petstore";
 try {
 state=conn.prepareStatement(sql);
 rs=state.executeQuery();
 System.out.println("所有宠物商店从MySQL中醒来");
 System.out.println("*************************************");
 while(rs.next()){
 String name=rs.getString("name");
 System.out.println("我的名字叫:"+name);
 }
 System.out.println("*************************************\n");
 } catch (Exception e) {
 e.printStackTrace();
 }finally{
 closeObject1();
 }
 }

 /**
 * 登录界面选择是主人登录还是商店登录方法
 */
 public void login(){

 System.out.println("请选择输入登录模式\n1.宠物主人登录\n2.宠物商店登录\n3.退出系统\n-------------------");
 try {
 Scanner input=new Scanner(System.in);
 int choise=input.nextInt();
 if(choise<1|| choise>3){
 System.out.println("输入有误,请重新选择");
 login();
 }else{
 switch (choise) {
 case 1:
  petOwnerLogin();
  break;
 case 2:
  petStoreLogin();
  break;
 case 3:
  System.out.println("谢谢使用");
  System.exit(0);
  break;
 default:
  break;
 }
 }
 } catch (InputMismatchException e) {
 System.out.println("输入有误,请重新选择");
 login();
 }

 }
 /**
 * 宠物主人登录方法
 * @return
 */
 public boolean petOwnerLogin(){
 boolean flag=false;
 try {
 Scanner input=new Scanner(System.in);
 System.out.println("请先登录,请您先输入主人的名字");
 String name=input.next();
 System.out.println("请您输入主人的密码:");
 String password=input.next();
 conn=getConnection();
 String sql="SELECT name from petowner where name=? and password=?";
 try {
 state=conn.prepareStatement(sql);
 state.setString(1, name);
 state.setString(2, password);
 rs=state.executeQuery();
 if(rs.next()){
  System.out.println("---------恭喜您成功登录!---------");
  System.out.println("----------您的基本信息---------");
  conn=getConnection();
  String sql2="SELECT ID,name,money from petowner where name=?";
//  state=conn.prepareStatement(sql2);
//  state.setString(1, name);
//  rs=state.executeQuery();
  rs=search(sql2,name);
  if(rs.next()){
  int uid=rs.getInt("ID");
  String uname=rs.getString("name");
  Double uMoney=rs.getDouble("money");
  System.out.println("姓名:"+uname);
  System.out.println("元宝数:"+uMoney);
  System.out.print("登录成功,");
  dealPet(uname,uid);
  }
 }else{
  System.out.println("登录失败,账户与密码不匹配");
  login();
 }
 } catch (Exception e) {
 e.printStackTrace();
 }

 } catch (InputMismatchException e) {
 System.out.println("输入有误");
 login();
 }

 return false;
 }

 /**
 * 选择买宠物或者卖宠物的方法
 */
 public void dealPet(String ownerName,int uid) {

 System.out.println("您可以购买和卖出宠物,购买宠物请输入1,卖出宠物请输入2\n1.购买宠物\n2.卖出宠物\n3.返回上一级");
 try {
 Scanner input2=new Scanner(System.in);
 int choise2=input2.nextInt();
 if(choise2<1||choise2>3){
 System.out.println("输入有误");
 dealPet(ownerName,uid);
 }else{
 switch (choise2) {
  case 1:
  //购买宠物
  buyPet(ownerName,uid);
  break;
  case 2:
  //出售宠物
  showSellPet(ownerName,uid);
  break;
  case 3:
  //返回上一级
  login();
  break;
  default:
  break;
  }
 }
 } catch (InputMismatchException e) {
 System.out.println("输入有误");
 dealPet(ownerName,uid);
 }
 }
 /**
 * 显示主人拥有的宠物
 */
 public void showSellPet(String ownerName,int uid) {
 conn=getConnection();
 String sql25="SELECT pet.ID,pet.name from petowner,pet where petowner.ID=owner_id and petowner.ID="+uid+"";
 try {
 state=conn.prepareStatement(sql25);
 rs=state.executeQuery();
 System.out.println("以下是你拥有的宠物:");
// //如果结果集为空,即该主人没有宠物,就返回上一级进行选择
// if(!rs.next()){
// System.out.println("您没有宠物,将自动返回上一级");
// buyPet(ownerName, uid);
// }
 while(rs.next()){
 int petid=rs.getInt("pet.ID");
 String petName=rs.getString("pet.name");
 System.out.println("这是"+petid+"号宠物,名字叫:"+petName);
 }
 System.out.println("**************************************");
 } catch (SQLException e) {
 e.printStackTrace();
 }
 closeObject1();
 sellPet(ownerName, uid);
 }

 public void sellPet(String ownerName,int uid) {
 System.out.println("请输入你想卖出的宠物序号:");
 try {
 Scanner input27=new Scanner(System.in);
 int choisePetId=input27.nextInt();
 System.out.println("请输入你要卖给的商店\n1.北京西苑\t2.重庆观音桥");
 int choiseStore=input27.nextInt();
 String sql30="SELECT pet.ID,pet.name from petowner,pet where petowner.ID=owner_id and petowner.ID="+uid+" and pet.ID="+choisePetId+"";
 Connection conn6=getConnection();
 try {
 state=conn6.prepareStatement(sql30);
 rs=state.executeQuery();
 if(rs.next()){
  Connection conn9=getConnection();
  conn9.setAutoCommit(false);
  String sql40="UPDATE pet set owner_id=null,store_id="+choiseStore+" where pet.ID="+choisePetId+"";
  state=conn9.prepareStatement(sql40);
  int result20=state.executeUpdate();
  String sql41="update petowner set money=money+5 where petowner.ID="+uid+"";
  state=conn9.prepareStatement(sql41);
  int result21=state.executeUpdate();
  String sql42="update petstore set balance=balance-5 where petstore.ID="+choiseStore+"";
  state=conn9.prepareStatement(sql42);
  int result22=state.executeUpdate();
  //获得当前时间
  Long time1=System.currentTimeMillis();
  SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
  String dealTime=sdf.format(time1);
  //将该条交易添加至交易账单中
  String sql43="insert into account (deal_type,pet_id,seller_id,buyer_id,price,deal_time) VALUES (2,"+choisePetId+","+choiseStore+","+uid+",5,'"+dealTime+"')";
  state=conn9.prepareStatement(sql43);
  int result23=state.executeUpdate();

  if(result20>0 && result21>0 && result22>0 & result23>0){
  //提交事务
  conn9.commit();
  System.out.println("卖出成功");
  }else{
  //回滚事务
  conn9.rollback();
  }
  dealPet(ownerName,uid);
 }else{
  System.out.println("没有该宠物,卖出失败");
  dealPet(ownerName,uid);
 }
 } catch (SQLException e) {
 e.printStackTrace();
 }

 } catch (InputMismatchException e) {
 System.out.println("输入错误,请重新输入");
 sellPet(ownerName, uid);
 }

 }

// /**
// * 显示新培育宠物并且购买
// */
// public void showNewPet() {
// // TODO Auto-generated method stub
//
// }

 /**
 * 宠物商店登录的方法
 * @return
 */
 public boolean petStoreLogin(){
 boolean flag=false;
 try {
 Scanner input=new Scanner(System.in);
 System.out.println("请先登录,请您先输入宠物商店的名字");
 String name=input.next();
 System.out.println("请您输入宠物商店的密码:");
 String password=input.next();
 conn=getConnection();
 String sq110="SELECT name,balance from petstore where name=? and password=?";
 state=conn.prepareStatement(sq110);
 rs=search(sq110, name,password);
 if(rs.next()){
 System.out.println("登录成功");
 PetStoreMake(name);
 }else{
 System.out.println("登录失败");
 login();
 }

 } catch (Exception e) {
 // TODO: handle exception
 }

 return false;
 }
 /*
 * 宠物商店培育新宠物
 */
 public void PetStoreMake(String storeName) throws SQLException {
 System.out.println("请输入数字进行选择:\n1.查询店内宠物\n2.培育新宠物\n3.退出登录");
 try {
 Scanner input=new Scanner(System.in);
 int choise7=input.nextInt();
 if(choise7<1||choise7>3){
 System.out.println("输入有误");
 PetStoreMake(storeName);
 }else{
 switch (choise7) {
  case 1:
  storePetQuery(storeName);
  break;
  case 2:
  storeAddPet(storeName);
  break;
  case 3:
  //退出登录,返回上一级
  login();
  break;

  default:
  break;
 }
 }
 } catch (InputMismatchException e) {
 System.out.println("输入有误");
 PetStoreMake(storeName);
 }
 }

 /**
 * 宠物商店培育新宠物的方法
 * @param storeName
 * @throws SQLException
 */
 public void storeAddPet(String storeName) throws SQLException {
 System.out.println("请输入你想添加的宠物的类型:");
 Scanner input=new Scanner(System.in);
 String typename=input.next();
 System.out.println("请输入该宠物的名字:");
 String petname=input.next();
 //查询该商店的ID
 String sql14="SELECT ID from petstore where name='"+storeName+"'";
 rs=search(sql14);
 int id=0;
 if(rs.next()){
 id=rs.getInt("ID");
 }
 conn=getConnection();
 String sql13="insert into pet (name,typename,health,love,birthday,store_id,neworold)VALUES(?,?,1,100,?,"+id+",'new')";
 //获取当前时间,作为宠物的生日
 Long time1=System.currentTimeMillis();
 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
 String birth=sdf.format(time1);
 int a=update(sql13, petname,typename,birth);
 if(a>0){
 System.out.println("培育新宠物成功");
 PetStoreMake(storeName);
 }else{
 System.out.println("培育新宠物失败");
 PetStoreMake(storeName);
 }
 }

 /**
 * 在商店登录之后进行对店内的宠物进行查询
 * @param storeName
 */
 public void storePetQuery(String storeName) {
 System.out.println("正在查询店内宠物。。。");
 conn=getConnection();
 String sql11="SELECT pet.ID,pet.name,typename,birthday from pet,petstore where petstore.name=? and pet.store_id=petstore.ID";
 try {
 state=conn.prepareStatement(sql11);
 rs=search(sql11, storeName);
 int i=1;
 while(rs.next()){
 int id=rs.getInt("pet.ID");
 String name=rs.getString("pet.name");
 String typename=rs.getString("typename");
 String birthday=rs.getString("birthday");
 System.out.println("第"+i+"只宠物名字:"+name+",宠物类型:"+typename+",生日:"+birthday);
 i++;
 }
 System.out.println("----------------------------");
 PetStoreMake(storeName);
 } catch (Exception e) {
 e.printStackTrace();
 }
 }

 /**
 *购买宠物的方法
 */
 public void buyPet(String ownerName,int uid){
 System.out.println("请输入选择购买范围,只输入选择项的序号");
 System.out.println("1:购买库存宠物\n2.购买新培育宠物\n3.返回上一级");
 try {
 Scanner input3=new Scanner(System.in);
 int choise5=input3.nextInt();
 if(choise5<1 || choise5>3){
 System.out.println("输入有误");
 buyPet(ownerName,uid);
 }else{
 switch (choise5) {
 case 1:
  showPetAll(ownerName,uid);
  break;
 case 2:
  buyNewPet(ownerName,uid);
  break;
 case 3:
  //返回上一级
  dealPet(ownerName, uid);
  break;

 default:
  break;
 }
 }

 } catch (InputMismatchException e) {
 System.out.println("输入有误");
 buyPet(ownerName,uid);

 }
 }

 public void buyNewPet(String ownerName,int uid) {
 //用于判断查询是否有结果
 boolean havePet=false;

 System.out.println("正在帮你查询新宠物。。。。。");
 conn=getConnection();
 String sql31="SELECT pet.ID,pet.name from pet where pet.neworold='new'";
 try {
 state=conn.prepareStatement(sql31);
 rs=state.executeQuery();
 while(rs.next()){
 int petid=rs.getInt("pet.ID");
 String petName=rs.getString("pet.name");
 System.out.println("序号为:"+petid+",名字为:"+petName);
 havePet=true;
 }
 if(havePet){
 System.out.println("请输入你要购买的新宠物的序号:");
 try {
//  boolean havePet2=false;
  Scanner input28=new Scanner(System.in);
  int newPetId=input28.nextInt();
  Connection conn7=getConnection();
  String sql32="SELECT pet.ID,pet.name,pet.store_id from pet where pet.neworold='new' and pet.ID="+newPetId+"";
  state=conn7.prepareStatement(sql32);
  rs=state.executeQuery();
  if(rs.next()){
  int storeid=rs.getInt("pet.store_id");

  Connection conn8=getConnection();
  conn8.setAutoCommit(false);

  String sql33="UPDATE pet set pet.neworold='old',pet.owner_id="+uid+",pet.store_id=null where pet.ID="+newPetId+"";
  String sql34="update petowner set money=money-5 where petowner.ID="+uid+"";
  String sql35="update petstore set balance=balance+5 where petstore.ID="+storeid+"";

  //获得当前时间
  Long time1=System.currentTimeMillis();
  SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
  String dealTime=sdf.format(time1);
  //将该条交易添加至交易账单中
  String sql36="insert into account (deal_type,pet_id,seller_id,buyer_id,price,deal_time) VALUES (1,"+newPetId+","+storeid+","+uid+",5,'"+dealTime+"')";

  state=conn8.prepareStatement(sql33);
  int result13=state.executeUpdate();
  state=conn8.prepareStatement(sql34);
  int result14=state.executeUpdate();
  state=conn8.prepareStatement(sql35);
  int result15=state.executeUpdate();
  state=conn8.prepareStatement(sql36);
  int result16=state.executeUpdate();
  if(result13>0 && result14>0 && result15>0 && result16>0){
  //如果都成功执行,改变数据,那就提交事务
  conn8.commit();
  System.out.println("购买成功");
  }else{
  //如果中加你有一条没有执行成功那就回滚事务
  conn8.rollback();
  }
  buyPet(ownerName, uid);
  }else{
  System.out.println("输入错误,没有该序号的新宠物");
  buyNewPet(ownerName, uid);
  }
 } catch (InputMismatchException e) {
  e.printStackTrace();
 }
 }else{
 System.out.println("暂时还没新宠物");
 buyPet(ownerName, uid);
 }
 } catch (SQLException e) {

 e.printStackTrace();
 }
 }

 /**
 * 展示宠物名字,序号,类型的方法
 */
 public void showPetAll(String ownerName,int uid) {
 System.out.println("---------以下是库存宠物--------");
 conn=getConnection();
 String sql6="SELECT pet.ID,pet.name,pet.typename from pet,petstore where pet.store_id=petstore.ID";
 try {
 state=conn.prepareStatement(sql6);
 rs=state.executeQuery();
 while(rs.next()){
 int petId=rs.getInt("ID");
 String petName=rs.getString("name");
 String petType=rs.getString("typename");
 System.out.println("序号:"+petId+",我的名字叫:"+petName+",我是:"+petType+",要购买我要花:5.0个元宝");
 }
 System.out.println("请输入你想购买的宠物编号:");
 try {
 Scanner input17=new Scanner(System.in);
 int choise6=input17.nextInt();
 //对在商店里的宠物进行ID查询,符合的就购买
 conn=getConnection();
 String sql15="SELECT pet.ID,pet.name,pet.typename,petstore.ID from pet,petstore where pet.store_id=petstore.ID and pet.ID="+choise6+"";
 try {
  state=conn.prepareStatement(sql15);
  rs=state.executeQuery();
  if(rs.next()){
  //这里是宠物主人购买宠物的代码,将宠物的store_ID设置为null,将宠物的owner_ID设置为购买主人的ID
  //然后主人账户减钱,商店的结余加钱,将该条交易添加至交易账单中
  int store_id=rs.getInt("petstore.ID");//这里是选择的宠物所属商店的ID
  //这里用创建一个新的连接
  Connection conn1=getConnection();
  //开启事务
  conn1.setAutoCommit(false);
  //将宠物的store_ID设置为null,将宠物的owner_ID设置为购买主人的ID
  String sql18="update pet set owner_id=1,store_id=NULL where pet.ID="+choise6+"";
  //宠物主人减钱
  String sql19="update petowner set money=money-5 where petowner.ID="+uid+"";
  //宠物商店加钱
  String sql20="update petstore set balance=balance+5 where petstore.ID="+store_id+"";
  //获得当前时间
  Long time1=System.currentTimeMillis();
  SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
  String dealTime=sdf.format(time1);
  //将该条交易添加至交易账单中
  String sql21="insert into account (deal_type,pet_id,seller_id,buyer_id,price,deal_time) VALUES (1,"+choise6+","+store_id+","+uid+",5,'"+dealTime+"')";

  state=conn1.prepareStatement(sql18);
  int result2=state.executeUpdate();
  state=conn1.prepareStatement(sql19);
  int result3=state.executeUpdate();
  state=conn1.prepareStatement(sql20);
  int result4=state.executeUpdate();
  state=conn1.prepareStatement(sql21);
  int result5=state.executeUpdate();
  if(result2>0 && result3>0 && result4>0 && result5>0){
  //如果都成功执行,改变数据,那就提交事务
  conn1.commit();
  System.out.println("购买成功");
  }else{
  //如果中加你有一条没有执行成功那就回滚事务
  conn1.rollback();
  }

  //返回上一级
  buyPet(ownerName,uid);
  }else{
  System.out.println("购买失败");
  //返回上一级
  buyPet(ownerName,uid);
  }
 } catch (SQLException e) {
  e.printStackTrace();
 }
 } catch (InputMismatchException e) {
 System.out.println("输入有误");
 showPetAll(ownerName,uid);

 }
 } catch (SQLException e) {
 e.printStackTrace();
 }

 }

}

我是一个java学习路上的小白,现在才刚刚开始学,以后学习的路还有很远,用刚学的jdbc来做了一个案例,做的不好的见谅,因为我也没时间去进行优化、升级,只是希望写在这里以后我还能有个回忆,以及给看的人可能带来一点点小收获。

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Java实现宠物商店管理系统

    本文实例为大家分享了Java实现宠物商店管理系统的具体代码,供大家参考,具体内容如下 一.实验目的 1.掌握java类的继承.多态等的基本概念: 2.掌握简单的信息管理系统的设计与实现. 二.实验环境 实验建议在安装了以下软件的计算机上完成: 1. Windows xp/win7/win8/win10操作系统 2. JDK 1.6以上版本 3. Eclipse或NetBeans IDE或EditPlus或其它开发工具 三.实验内容与要求 (一) 问题描述 要求采用java面向对象的基本知识,实现

  • Java实现宠物商店管理

    本文实例为大家分享了Java实现宠物商店管理的具体代码,供大家参考,具体内容如下 第一种实现方式:抽象类和对象数组 public abstract class AbstractPet //定义宠物模板 { private String name; //名称 private String color; //颜色 private int age; //年龄 public AbstractPet(){} public AbstractPet(String name, String color, int

  • jdbc实现宠物商店管理系统

    用jdbc实现宠物商店管理系统 1.开发语言:Java 2.开发工具:eclipse,MySql数据库 3.开发环境:jdk1.8 4.操作系统:win10 这里是运行图片,代码在图片下面 这里是主程序测试类Test // Main package petStore1; public class Test { public static void main(String[] args) { System.out.println("宠物商店启动"); PetManage pm=new P

  • C++实现宠物商店信息管理系统

    本文实例为大家分享了C++实现宠物商店信息管理系统的具体代码,供大家参考,具体内容如下 一.问题描述 设计一个程序实现对小动物商店的简单管理,主要功能:宠物基本信息(编号,名称,体重, 年龄,类别,价格,性格等)的输入.显示.查询等功能:宠物的交易.状态及顾客(宠物主人)的记录查询和修改. 二.基本要求 (1)使用面向对象思想开发需要的类,比如:宠物类包含宠物的基本属性信息和基本操作,日期类记录交易日期,顾客类记录顾客的信息:管理类,实现对宠物情况的操作:输入和输出的操作要求对输出运算符“>>

  • java基于jdbc实现简单学生管理系统

    目录 工具类 工程目录: 运行截图: 这个是java连接mysql数据库的一个简单学生系统,通过jdbc连接数据库. 工具类 JDBCuntils. package Student; import java.io.IOException; import java.sql.*; import java.util.Properties; //数据库的工具类 public class JDBCuntils { private static String driver = ""; privat

  • Springboot实例讲解实现宠物医院管理系统流程

    项目编号:BS-XX-098 本系统前台面向的用户是客户,客户可以进行预约.浏览医院发布的文章.进入医院商城为宠物购物.如有疑问可以向官方留言.还可以查看关于自己的所有记录信息,如:看病记录.预约记录.疫苗注射记录等.后台面向的用户是医院人员,系统管理员拥有最高权限,可以对所有数据进行管理,为所有的角色分配权限以及创建角色:业务管理员的权限主要是对一些常用数据的维护:医生可以接受客户发布的预约医生的预约单以及处理属于自己的预约单,回答客户的问诊:美容师可以接受客户发布的预约美容的预约单以及处理属

  • 基于.NET平台常用的框架和开源程序整理

    自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到,就继续补充这篇日志,日积月累,就能形成一个自己的组件经验库. 分布式缓存框架: Microsoft Velocity:微软自家分布式缓存服务框架. Memcahed:一套分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度. Redis:是一个高性能的KV数据库. 它的出现很大程度补偿了Mem

  • ColdFusionMX 编程指南 ColdFusionMX Basic Tag编程

    第四期:ColdFusionMX Basic Tag编程 序言 任何一种程序再简单也要具备一定的逻辑和算法,Coldfusion也不例外.如果只是靠简单的标签的堆砌,是无法真正实现企业商业逻辑的.而且,我在这里非常肯定的提出一点,就是简单绝对不等于功能弱小.目前,网络技术发展到了一个注重表现的时代,就是每一个开发出来的网络应用,要在实现逻辑的同时,具备让客户有丰富的用户体验是另一个追求的目标.Flash+Flashremoting+cf serverside script就是一种极具体验的开发手

  • Python设计模式之抽象工厂模式

    python面向对象编程入门,我们需要不断学习进步 """抽象工厂模式的实现""" import random class PetShop: """宠物商店""" def __init__(self, animal_factory=None): """宠物工厂是我们的抽象工厂.我们可以随意设置.""" self.pet_fact

  • Session过期后实现自动跳转登录页面

    最近研究如果用原生的Filter来判别session存在否或者过期否.来跳转到的页面实例,下载来展示代码. 因为顾虑器是每次请求能会进入的,所以可以设置了,进行拦截判断 1.配置web.xml <filter> <filter-name>BackEndFilter</filter-name> <filter-class>com.sun.BackFilter</filter-class> </filter> <filter-map

随机推荐