20181129

2018年11月29日星期四java

先用mysql客户端链接主机mysql数据库,建立一个数据库ykdb,调整程序能够操做mysql数据库mysql

转到bin路径,复制链接mysql数据库的jar包到bin路径,运行程序  java  -cp  ./ mysql-connector-java-5.1.12-bin.jar;.   yksqllinux

yksql>建立一张表yktbl(id  int  auto_increment primary keyidb char(10) )算法

yksql>增长一个日期字段rqsql

yksql>增长数据 insert into  yktbl(idb,rq) values(   填空  )数据库

yksql>显示数据编程

作完后在电脑中找到你建立的数据库所在的文件夹数组

 

数据库服务器

单机数据库:access  sqlite。。。网络

网络数据库:  Oracle  mysql  sqlserver  sybase  informix  db2.。。。。。

企业用的都是服务器版数据库,必定在某个端口侦听,数据库必定对应系统的某个文件,使用数据库必定须要用户 和口令

使用标准SQL和数据库进行交流,每一个数据库还有在标准SQL基础上扩展的可编程的部分,这块是不同的

 

让程序能够操做Sqlserver数据库须要一个sqlserver数据库、操做sqlserver的jar包,而后调整代码中Class.forName(驱动类的名字)调整getConnection中URL、USER、PASS

不须要修改咱们的程序,就能操做全部的数据库,怎么作?

方法一:

String  sDriver=null,sUrl=null,sUser=null,sPwd=null;

switch(dbtype){

case “oracle”:

    sDriver=”oracle……”;  sUrl=”oracleurl”; sUser=”scott”;sPwd=”tiger”;

break;

case “mysql”:

    sDriver=”mysql……”;  sUrl=”mysqlurl”; sUser=”root”;sPwd=””;

break;

…….

 

defautl:

 

break;

}

 

Class.forName(sDriver);

Connection conn=DriverManager.getConnection(sUrl,sUser,sPwd);

方法二:

用一个文件配置driver、url、user、paas信息

怎么读properties文件?

class read {

   public static void main(String... args)  {

      System.out.println(System.getProperty("user.dir"));

     

   }

}

在命令行不一样位置运行这个程序(    

 

import java.io.FileInputStream;

import java.io.FileNotFoundException;

 

class read {

   public static void main(String... args) throws FileNotFoundException  {

      String sPath=System.getProperty("user.dir");

      sPath=sPath+"/db.properties";

      new FileInputStream(sPath);

     

   }

}

 

在命令行运行(注意有包要带上包名称)不要看到异常

 

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.util.Properties;

 

class read {

   public static void main(String... args)  {

      String sPath=System.getProperty("user.dir");

      sPath=sPath+"/db.properties";

      try {

       FileInputStream fin= new FileInputStream(sPath);

       Properties prop=new Properties();

       prop.load(fin);

       System.out.println(prop.getProperty("driver"));

       System.out.println(prop.getProperty("url"));

       System.out.println(prop.getProperty("user"));

       System.out.println(prop.getProperty("pass"));

       System.out.println(prop.getProperty("key"));

       

      } catch (Exception e) {

         System.out.println(e.getMessage());

      } 

     

   }

}

 

在命令行运行程序(         )

 

 

unix/linux:什么是硬连接、软连接?

sql:什么是外链接、内链接?

 

 

能够放那些修饰符 class   ClsName{

能够放那些修饰符  class   InnerCls{

 

}

 

}

 

abstract class ClsName {

   abstract void aaa(); 

}

 

interface ICls {

   

}

 

class TestI {

   public static void main(String[] args) {

            new ClsName();

            new ICls();

   }

}

什么错误,为何?

 

class ClsName {

   class InnerCls {

      void test() {

         System.out.println(InnerCls.class);

      }

   } 

}

 

class TestI {

   public static void main(String[] args) {

      // 怎么调用test()函数

     

   }

}

找找生成的class文件,看内部类是怎么表示的

 

class ClsName {

   static class InnerCls {

      void test() {

         System.out.println(InnerCls.class);

      }

   } 

}

 

class TestI {

   public static void main(String[] args) {

      // 怎么调用test()函数

     

   }

}

匿名内部类

 

interface  ICls{

   void abc();

}

 

class TestI {

   public static void main(String[] args) {

      new ICls() {      

         @Override

         public void abc() {

            // TODO Auto-generated method stub

           

         }

      };

   }

}

 

程序=数据结构+算法(求解某个问题的过程或方法)

 

程序由  数据     处理数据的函数组成

 

 

链表(单链表、双链表) 

哈希表(key---value值)

 

 

  无论什么数据结构,数据最终在内存存储形式:顺序存储、链式存储

 

   new  String[10] 

   new  String()   …… new String()

 

class ListData {

   int a;

   String b;

   public ListData() {

   }

   public ListData(int a, String b) {

      this.a = a;

      this.b = b;

   }

  

  

   public int getA() {

      return a;

   }

   public void setA(int a) {

      this.a = a;

   }

   public String getB() {

      return b;

   }

   public void setB(String b) {

      this.b = b;

   }

   ListData next;//定义一个引用,记录下一个节点地址

   public ListData getNext() {

      return next;

   }

   public void setNext(ListData next) {

      this.next = next;

   }

  

}

 

class ds{

   public static void main(String[] args) {

      ListData lst[]=new ListData[10];//顺序

      lst[0]=new ListData();

     

      ListData head=null;

      head=new ListData(100, "abc");   

      ListData  ylynew ListData(200, "bca");

      head.setNext(yly);   

      yly.setNext(new ListData(300, "cab"));

     

        //怎么经过head遍历每条数据

      while (head!=null) {

         System.out.println(head);

         head=head.getNext();

      }

     

   }

}

 

运行结果( 

ListData重写toString()

 

@Override

   public String toString() {

      // TODO Auto-generated method stub

      return "a="+a+",b="+b;

   }

 

再运行程序

C++  STL standard template libaray

java collections  framework

 

 

ArrayList   LinkedList区别?

顺序存储          链式存储

class ds{

  public static void main(String[] args) {

 

 

    Map<String,Integer> map=new     HashMap<String, Integer>(); 

    System.out.println(map.size());

System.out.println(map.get("yangkang"));

}

}

运行结果(   

 

class ds {

  public static void main(String[] args) {

 

     Map<String, Integer> map = new HashMap<String, Integer>();

 

     String str = "abc cba abc nba cba";

     String[] str2 = str.split(" ");

     System.out.println(str2.length);

     for (int i = 0; i < str2.length; i++) {

       Integer v = map.get(str2[i]);

       if (v == null) {

         map.put(str2[i], 1);

       } else {

         map.put(str2[i], v + 1);

       }

     }

    

     Set<String> kSet=map.keySet();

     for (String string : kSet) {

       System.out.println(string+":"+map.get(string));

     }

 

  }

}

运行结果( 

 

 

 

实践(2018年11月29日星期四):

1)会员表(memid  memname)

会员消费表(id 自动增加字段  消费日期xfrq   消费金额xfje  会员 memid)

统计2018年10月全部会员消费金额、显示会员号、会员名称、消费金额,并按消费金额降序

方法一

查询有消费

union

没有消费的;

 

方法二

左或右链接查询;

    2修改操做数据库的程序,将链接数据库的相关信息写到db.properties

   3 写一个函数:统计一个字符串中每一个数字的个数

 

作的快的继续

 

4 怎么让程序能执行

 insert into tbl(fld1,fld2)  select  f1,f2 from tbl2 这种格式sql语句

 能执行 desc  表名  查看表结构(两我的合做完成)

5 oracle/mysql如何对数据进行分页显示(独立完成)

6 linux实如今凌晨一点自动备份指定文件夹(好比/home)的全部信息(备份文件名称:备份时间.tar.gz  ,好比201811291239.tar.gz),并远程复制到另一台linux电脑(两我的合做完成)

提示:写一个脚本(获取时间、tar命令备份、远程复制),而后配置任务计划(crontab)指定执行脚本的时间,远程复制需解决免密登陆问题

7 找一个操做数据库的GUI客户端,能够操做任何数据库

相关文章
相关标签/搜索