`

一阶段-twentithWork-数据库操作

阅读更多
/*
在任意数据库中建立表 userinfo 包含字段 Username varchar(10), password varchar(10);

1, 建立数据库连接类 DBUtil ,负责连接数据库.关键方法:
public  Connection getConn()
具体要求:获得数据库连接,要求处理异常
2, 建立数据库操作类,使用数据库连接类获得数据库连接。进行数据库的增删改查操作
关键方法:
A  public String addUser(String name,String password) 添加用户,成功返回“添加成功”
失败返回添加失败
B  public String EditPassword(String name,String passwod)修改指定用户的密码,成功返回“修改成功”。失败返回“修改失败”,若未修改任何数据返回“无此用户”
C  public String delUser(String name) 删除指定用户  成功返回“删除成功”。失败返回“删除失败”,若未修改任何数据返回“无此用户”
*注:若出现异常则是操作失败的情况,以上方法是用预编译操作

D  public void getResult(String username,String password)
具体要求:以用户名和密码作为参数传入,若传入的参数不为空,则作为查询的条件使用,查询用户的信息
3, 编写测试类:
增加一条用户信息
删除一条用户信息
修改一条用户信息
查询用户信息
*/

package twentithWork.TestPack;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import twentithWork.dao.DBContron;

/**
*
* @author Administrator
*/
public class Test
{
    public void run()
    {
        String name = "";
        String password = "";
        DBContron contron = new DBContron();
        InputStreamReader in = new InputStreamReader(System.in);
        BufferedReader buff = new BufferedReader(in);
        System.out.println("--数据插入--");
        System.out.println("请输入用户名:");
        try{
            name = buff.readLine();
        }catch(Exception e)
        {
            e.printStackTrace();
        }
        System.out.println("请输入密码:");
                try{
            password = buff.readLine();
        }catch(Exception e)
        {
            e.printStackTrace();
        }
        System.out.println(contron.addUser(name, password));
        System.out.println("执行成功!");
        //////////////
        System.out.println("--数据修改--");
        System.out.println("请输入用户名:");
        try{
            name = buff.readLine();
        }catch(Exception e)
        {
            e.printStackTrace();
        }
        System.out.println("请输入新密码:");
                try{
            password = buff.readLine();
        }catch(Exception e)
        {
            e.printStackTrace();
        }
        System.out.println(contron.EditPassword(name, password));
        System.out.println("执行成功!");
        //////////////
        System.out.println("--数据删除--");
        System.out.println("请输入用户名:");
        try{
            name = buff.readLine();
        }catch(Exception e)
        {
            e.printStackTrace();
        }

        System.out.println(contron.delUser(name));
        System.out.println("执行成功!");
        //////////////
        System.out.println("--数据查询--");
        System.out.println("请输入用户名:");
        try{
            name = buff.readLine();
        }catch(Exception e)
        {
            e.printStackTrace();
        }
        System.out.println("请输入密码:");
                try{
            password = buff.readLine();
        }catch(Exception e)
        {
            e.printStackTrace();
        }
        contron.getResult(name, password);
    }
    public static void main(String[] args)
    {
        Test test = new Test();
        test.run();
    }

}
===========================================
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package twentithWork.DBFactory;
import java.sql.*;

/**
*
* @author Administrator
*/
public class DBUtil
{
    private static final String DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";
    private static final String URL ="jdbc:sqlserver://John:1433;databaseName=students;user=john;password=123";
    private Connection conn = null;
    public Connection getConn()
    {      
        try {
            Class.forName(DRIVER);
            conn = DriverManager.getConnection(URL);
        } catch (SQLException ex) {
            ex.printStackTrace();
        } catch (ClassNotFoundException ex) {
           ex.printStackTrace();
        }
        return conn;
    }
    public void close()
    {
        if(conn != null)
        {
            try {
                conn.close();
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
        }
    }
}
========================================

package twentithWork.dao;

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

import twentithWork.DBFactory.DBUtil;

public class DBContron
{
    public String addUser(String name,String password)//添加用户
    {
        String str = "";
        DBUtil db = new DBUtil();
        Connection conn = db.getConn();
        String sql = "insert into userinfo (username,password)values(?,?)";
        try {
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1, name);
            ps.setString(2, password);
            int i = ps.executeUpdate();
            if(i>0)
            {
                str = "添加成功!";
            }else{
                str = "添加失败!";
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        }finally{
            db.close();
        }
        return str;
    }

    public String EditPassword(String name,String password)
    {
        String str = "";
        DBUtil db = new DBUtil();
        Connection conn = db.getConn();
        String sql = "update userinfo set password=? where username=?";
        try {
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1, password);
            ps.setString(2, name);
            int i = ps.executeUpdate();
            if(i>0)
            {
                str = "修改成功!";
            }else{
                str = "修改失败!";
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        }finally{
            db.close();
        }
        return str;
    }

    public String delUser(String name)
    {
        String str = "";
        DBUtil db = new DBUtil();
        Connection conn = db.getConn();
        String sql1 = "select * from userinfo where username =?";
        try {
            PreparedStatement ps1 = conn.prepareStatement(sql1);
            ps1.setString(1, name);
            ResultSet rs = ps1.executeQuery();
            if(!rs.next())
            {
                str = "无此用户!";
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        //当存在此用户时
        String sql = "delete from userinfo where username=?";
        try {
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1, name);
            int i = ps.executeUpdate();
            if(i>0)
            {
                str = "删除成功!";
            }else{
                str = "删除失败!";
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        }finally{
            db.close();
        }
        return str;
    }

    public void getResult(String username, String password)
    {
        String str = "";
        DBUtil db = new DBUtil();
        Connection conn = db.getConn();
        String sql = "select * from userinfo where username=? and password=?";
        try {
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1, username);
            ps.setString(2, password);
            ResultSet rs = ps.executeQuery();
            while(rs.next())
            {
                System.out.println(rs.getString("username")+"\t"+rs.getString("password"));
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        }finally{
            db.close();
        }
    }

}
分享到:
评论

相关推荐

    城市GDP.npz

    城市GDP.npz

    基于深度学习的语音增强、去混响

    基于深度特征映射的语音增强方法 本项目为可以利用DNN和CNN的方法来进行语音增强,其中DNN使用的三个隐层每个隐层512个节点,CNN使用的是R-CED的网络结构并且加入了一些resnet来防止过拟合。你也可以选择是否使用dropout或者l2等。 使用: 第一步. 运行 ex_trac.sh 数据准备并将数据分成训练集和交叉验证集,然后提取 log spectragram 特征. 第二步. 运行 train.sh 来训练和测试模型. 第三步. 运行 ca_pesq.sh 使用PESQ来评价你的结果。

    昭春落日iPad水彩胶带第2期-课程网盘链接提取码下载 .txt

    本期课程将继续探索iPad水彩胶带绘画技巧,以昭春落日为主题,引导学员掌握绘画技巧和色彩运用,创作独特的水彩作品。通过实践与指导,学员将提升绘画技能,感受艺术的魅力,展现个性化创作,享受绘画带来的乐趣与成就感。 课程大小:8.6G

    永磁起重器使用与维护手册

    永磁起重器使用与维护手册

    机械设计测漏机sw21可编辑非常好的设计图纸100%好用.zip

    机械设计测漏机sw21可编辑非常好的设计图纸100%好用.zip

    纵横科技产品服务手册 FPM120TC-T 说明书

    纵横科技产品服务手册 FPM120TC-T 说明书

    如何提升产品的广告变现效率?.docx

    如何提升产品的广告变现效率?.docx

    机械设计灯板自动插线设备sw18可编辑非常好的设计图纸100%好用.zip

    机械设计灯板自动插线设备sw18可编辑非常好的设计图纸100%好用.zip

    LORA 模型 pantPullDownLora_pantpulldownV1.safetensors

    pantPullDownLora_pantpulldownV1

    经典CNN网络之AlexNet 对7种小麦叶片病害分类

    【基于Alexnet对7种小麦叶片病害分类】 【包含代码、数据集和训练好的权重文件,可直接运行】 项目总大小:640 MB 本数据集分为以下7类别:水泡,褐色斑点等等 下载解压后的图像目录:训练集(16,149张图片)、和测试集(678张图片) data-train 训练集-每个子文件夹放同类别的图像,文件夹名为分类类别 data-test 测试集-每个子文件夹放同类别的图像,文件夹名为分类类别 【项目介绍】 网络训练的时候采用cos 学习率自动衰减,简单测试了10个epoch。模型在测试集最好的表现达到88.9%精度,加大epoch可以增加精度。在run_results 目录下存有最好的权重文件,以及训练日志和loss、精度曲线等等 预测的时候,只需要运行predict即可,代码会自动将inference下所有图片推理,并取前三个概率最大类别的绘制在左上角 【训练自己的数据参考readme文件,不需要更改,代码会自动生成,例如分类类别个数等等】

    LORA 模型 lactation_v10.safetensors

    lactation_v10

    httpsyy70958.com29875videoplayvid45958.m3u8..m3u

    httpsyy70958.com29875videoplayvid45958.m3u8..m3u

    机械设计VFFS Makinesi-1包装机sw14非常好的设计图纸100%好用.zip

    机械设计VFFS Makinesi-1包装机sw14非常好的设计图纸100%好用.zip

    Java毕业设计-基于Springboot的医院管理系统的设计与实现 (源码+数据库+文档).zip

    基于Spring Boot的医院管理系统涉及多个功能模块,如病人管理、医生管理、预约挂号、医疗记录管理。以下是一个基本的设计和实现建议: 1. 数据库设计:设计合适的数据库模式来存储医院相关的信息,如病人信息、医生信息、预约信息等。可以使用关系型数据库(如MySQL、PostgreSQL)或非关系型数据库(如MongoDB。 2. 后端(Spring Boot)部分: - 定义实体类:根据数据库设计,在后端定义实体类来映射数据库中的表结构。 - 数据访问层(DAO):使用Spring Data JPA或者MyBatis等技术,编写数据访问层代码,用与数据库进行交互,包括增删改查等操作。 - 业务逻辑层(Service):定义业务逻辑,包括对病人、医生、预约等信息的管理和操作。可以使用@Service注解标识这些服务类,并在其中注入相应的DAO层组件。 - 控制器层(Controller):使用@RestController注解标记控制器类,定义各个接口以供前端调用。在接口中处理请求、调用服务层处理业务逻辑,并返回相应的数据。 3. 前端部分: - 页

    node-v12.22.3-darwin-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    php-8.2.18-Win32-vs16-x64.rar

    php-8.2.18-Win32-vs16-x64.rar

    node-v10.16.0-sunos-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    XC03-W4DI 说明书

    XC03-W4DI 说明书

    node-v12.22.6-darwin-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    信息技术填空选择100题

    总结出了信息技术课程常考的100道填空题,答案在花括号内。制卷时只需要将花括号及其中的内容替换成圆括号即可。

Global site tag (gtag.js) - Google Analytics