Use java applet jdbc connection to the database

1, the database requirements:

mysql database, the new database in a tbtest mysql database, the new person table in tbtest library. Fields are
    staff table (name (string), phone (string), address (string))

CREATE TABLE `person` (
  `p_name` varchar(50) DEFAULT NULL,
  `p_number` varchar(50) DEFAULT NULL,
  `p_address` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 2, the required jar package:

maven project in pom.xml <dependencies> have added this:

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.0.8</version>
        </dependency>

Simple java program, addition of jar package, and import projects dependent

mysql-connector-java5.0.8

3, the new java project:

3.1 DBManager.java

Create a jdbc Tools

package com.lemon.test;

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

public class DBManager {

	 //数据库信息
    private static final String url = "jdbc:mysql://localhost:3306/tbtest";
    private static final String name = "com.mysql.jdbc.Driver";
    private static final String username = "root";
    private static final String password = "123456";
    
    private static Connection connection = null;
    private static PreparedStatement preparedStatement = null;

    //创建连接
    public DBManager(){
        try{
            Class.forName(name);
            connection = DriverManager.getConnection(url, username, password);

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

    //关闭连接
    private void close(){
        try{
            connection.close();
            preparedStatement.close();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    
    //查询
    public void queryAll() throws SQLException{
    	String sql = "select * from person";
    	preparedStatement = connection.prepareStatement(sql);
    	
    	 String name,number,address;

         try
         {
             //执行sql语句
             ResultSet result = preparedStatement.executeQuery();

             //查询到数据,对应赋值
             while(result.next()){
                 name = result.getString(1);
                 number = result.getString(2);
                 address = result.getString(3);

                 //显示
                 System.out.println(name + ",\t" + number + ",\t" + address + ".\t");
             }

             result.close();

         }catch (Exception e){
             e.printStackTrace();
         }
    }
	
    //增加
    public void addPerson(String name ,String number ,String address) throws SQLException{
    	String sql = "insert into person (p_name,p_number,p_address) values (?,?,?)";
    	preparedStatement = connection.prepareStatement(sql);
    	preparedStatement.setString(1, name);
    	preparedStatement.setString(2, number);
    	preparedStatement.setString(3, address);
    	
    	int row = preparedStatement.executeUpdate();
    		if(row > 0){
    			System.out.println("添加成功!");
    	    }
    		preparedStatement.close();
    	    
    }
    
    //删除
    public void delPersonByName(String name) throws SQLException{
    	String sql = "delete from person where p_name = ?";
    	//
    	preparedStatement = connection.prepareStatement(sql);
    	//完整sql语句
    	preparedStatement.setString(1, name);

    	int row = preparedStatement.executeUpdate();
    	if(row > 0){
    	    System.out.println("删除成功!");
    	}else{
    	    System.out.println("请正确输入需要删除的姓名!");
    	}
    	preparedStatement.close();
    	    
    }
    
    //更新
    public void updatePerson(String name ,String number ,String address) throws SQLException{

    	String sql = "update person set";
    	if(number != null){
    		sql = sql + " p_number = ?";
    	}
    	if(number != null && address != null){
    	    sql = sql + ",";
        }
    	if(address != null){
    		sql = sql + "p_address = ?";
    	}
    	sql = sql + "where p_name = ?";
    	//
    	preparedStatement = connection.prepareStatement(sql);

    	int i = 1;
        //完整sql语句
        if(number != null){
            preparedStatement.setString(i, number);
            i++;
        }
        if(address != null){
            preparedStatement.setString(i, address);
            i++;
        }
        preparedStatement.setString(i, name);
        int row = preparedStatement.executeUpdate();
        if(row > 0){
            System.out.println("更新成功!");
        }else{
            System.out.println("请正确输入需要更新的姓名!");
        }
        preparedStatement.close();
    }
}

2、main.java

Simple java applet

import com.lemon.test.DBManager;

import java.sql.SQLException;
import java.util.Scanner;

public class main {

    private static DBManager dbManager = new DBManager();//实例化数据库连接

    public static void main(String[] args) throws SQLException {
        boolean flag = true; //程序结束标志
        boolean flagNum = true; //操作数正确输入标志
        int num = 0; //操作数
        Scanner input =new Scanner(System.in);
        while( flag) {
            //输出所有用户信息
            printInfo();
            //初始化flagNum,重新输入操作数
            flagNum = true;

            //输入正确操作数
            while (flagNum){
                System.out.println("请输入操作数[0-3]:");
                try {
                    //输入操作数字
                    num = input.nextInt();
                    if( num < 0 || num >3){
                        int x = 1/0;
                    }
                    flagNum = false; //是数字,结束
                }catch (Exception e){
                    System.out.println("输入有误,请重新输入!");
                    input.nextLine();
                }
            }

            //执行操作数对应的操作
            switch (num){
                //退出系统
                case 0:
                    flag = false;
                    System.out.println("****欢迎下次使用****");
                    break;
                //添加
                case 1:
                    System.out.println("****添加用户信息****");
                    addPerson();
                    break;
                //删除
                case 2:
                    System.out.println("****删除用户信息****");
                    delPerson();
                    break;
                 //修改
                case 3:
                    System.out.println("****修改用户信息****");
                    updatePerson();
                    break;
            }
        }
    }
    //输出操作提示信息
    public static void printInfo() throws SQLException {
        System.out.println("***********人员管理系统!***********");
        //输出person所有信息
        System.out.println("姓名" + ",\t" + "电话" + ",\t\t" + "地址");
        dbManager.queryAll();
        System.out.println("************************************");
        System.out.println("1:添加新用户信息、" + "2:删除用户信息、" + "3:修改用户信息、" + "0:退出");
    }

    //添加用户信息
    public static void addPerson() throws SQLException {
        Scanner input =new Scanner(System.in);
        System.out.println("请输入姓名:");
        String name = input.nextLine();
        System.out.println("请输入电话:");
        String number = input.nextLine();
        System.out.println("请输入地址:");
        String address = input.nextLine();
        dbManager.addPerson(name,number,address);
    }
    //删除用户信息
    public static void delPerson() throws SQLException {
        Scanner input =new Scanner(System.in);
        System.out.println("请输入需要删除的用户姓名:");
        String name = input.nextLine();
        dbManager.delPersonByName(name);
    }
    //修改用户信息
    public static void updatePerson() throws SQLException {
        Scanner input =new Scanner(System.in);
        System.out.println("***请输入需要修改的用户信息***");
        System.out.println("请输入姓名:");
        String name = input.nextLine();
        System.out.println("请输入电话:");
        String number = input.nextLine();
        System.out.println("请输入地址:");
        String address = input.nextLine();
        dbManager.updatePerson(name,number,address);
    }
}

3, run directly mian.java, experience the next

Like it or not do not spray, novice, open to suggestions

 

 

 

 

Published 143 original articles · won praise 40 · views 20000 +

Guess you like

Origin blog.csdn.net/LemonSnm/article/details/101521582