学习基础2 Properteis+验证码+Swing窗体+数据库

自定义排序

Properteis

本质是Hash table

Properties: 资源文件的管理工具,达到java代码和资源文件的解耦合。

实现(主要操作)

写:   properteis.setProperties(key,value);

              Properties.store(out,desc);  底层会调用: native2ascii.exe(把字符转换为uncode)

获取: Properties.getProperties(key);

读取方式:

第一种:
ResourceBundle rb=ResourceBundle.getBundle("user");
System.out.println(rb.getString("name"));
System.out.println(rb.getString("age"));
第二种:
Properties properties =new Properties();
InputStream in =new FileInputStream("src/user.properties");
 properties.load(in);
System.out.println(properties.getProperty("name"));
System.out.println(properties.getProperty("age"));
in.close();
第三种:线程的方式:(项目中的使用)
Properties properties =new Properties();
InputStream in = Thread.currentThread().getContextClassLoader()
        .getResourceAsStream("user.properties");
properties.load(in);
System.out.println(properties.getProperty("name"));
System.out.println(properties.getProperty("age"));
in.close();

例子

user.properties

username=tom
password=1234

测试类

import java.util.ResourceBundle;
import java.util.Scanner;

public class Login {
    public static void main(String[] args) {
        Scanner in  = new Scanner(System.in);
        System.out.println("请输入账号:");
        String username=in.next();
        System.out.println("请输入密码:");
        String password=in.next();
        //获取资源文件的账号和密码
        ResourceBundle rb=ResourceBundle.getBundle("user");
        String s1=rb.getString("username");
        String s2=rb.getString("password");
        //判断
        if(s1.equalsIgnoreCase(username) && s2.equalsIgnoreCase(password)){
            System.out.println("登录成功!");
        }else{
            System.out.println("错误的账号或密码!");
        }
    }
}

序列化:将对象(的状态)保存到文件或媒介的过程。

反序列化:将文件或媒介转换为对象的过程。

序列化的步骤:

1:类实现序列化接口

2:利用ObjectOutputStream完成写对象,利用ObjectInputStream完成读取

3: writeObject(Object)    readObject()--->Object

4:关闭流

String小知识

验证码

public class CodeUtil {
    
     private CodeUtil(){}
     
     private static final String CODE="给发个帖丰东股份的是";
     private static final String NUMBER="0123456789";
     private static int length= 4;
     
     /**
      * 产生数字的验证码
      * @return 
      */
     public static String createNumber(){
        Random ran = new Random();
        StringBuilder sb=new StringBuilder();
        for(int i=1;i<=length;i++){
               sb.append( NUMBER.charAt( ran.nextInt(NUMBER.length())));
        }
        return sb.toString();
     }
     
     /**
      * 产生中文字符的验证码
      * @return 
      */
     public static String createCode(){
           Random ran =new Random();
           int num= ran.nextInt(CODE.length());
          return  String.valueOf(CODE.charAt(num));
         
         // return  String.valueOf(CODE.charAt( new Random().nextInt(CODE.length())));
     }
}

Swing窗体

1:swing: java的图形界面开发技术

 GUI: 图形用户接口

 Swing是GUI的java实现

    Swing在javax.swing包下。

2:常用的控件的使用(属性、事件等)

3:业务的处理:

  A 登录的实现

     判断为空

     离焦事件

     验证码的实现

 B 集合的数据展示到JTable的控件中(抽象类的意义!)

Swing开发的:容器:JFrame类(窗体:宽和高,承载各个组件:文本框、按钮等。。。)

数据库

数据库:DataBase: DB

数据管理系统:DBMS

数据库管理会员:DBA

数据库名称

所属公司

国家

规模和描述

Mysql

Oracle公司(瑞典AB)

美国

中小型、免费、关系型

Oracle

Oracle

美国

大型关系对象型

Sql-server

Microsoft

美国

大型关系型数据库

DB-2

IBM

美国

大型数据库

Sys-base

Sys-info

美国

SQL:  Strutted 结构  Query:查询 Language:语言

      结构化查询语言

Sql 是过程语言(侧重于步骤)

SQL的构成:

DDL: Data Define Language: 数据定义语言:(创建和修改等)

      Create:创建 Drop: 删除  Alter:修改

DCL: Data Controller Language(权限的管理)

      数据 控制 语言

     Grant: 授权  Revoke:取消

     Grant select,update,delete to abc;

     Revoke select from abc;

DML: 数据操作语言: insert:插入 update 修改  delete 删除

DQL: 数据查询语言:select

TCL: 事务控制语言: commit:提交  rollback :回滚

数据库的分类:

1:关系型:以表格形式(行:记录、列:字段)

2:层次型:

3:网状型:

执行顺序:

from              表名

where           条件(只能有判断: > < )

Group by      字段

Having          筛选

Order by       字段 排序规则 asc| desc 降序(默认asc:升序)

Select           字段名 别名

Limit

 PS小知识:

delete 删除不会重置id

truncate 会重置id

数据库常用的方法

关于批量删除的两种方式

 PS小知识

提到删除不得不提到关于页面的全选

在全选之后选中我们的所取的值

  反选

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值