zoukankan      html  css  js  c++  java
  • 刘志梅 201771010115 《面向对象程序设计(java)》 第十八周学习总结

    实验十八 总复习

    实验时间 2018-12-30

    1、实验理论知识

    (1)第一个关键词:public称为访问修饰符,用于控制程序的其他部分对代码的访问级别。

    第二个关键词:class表明java程序中的全部内容都包含在类中。

    第三个关键词:main方法必须声明为public。

    boolean(布尔)类型:用于判断逻辑条件;有两个值false和true。

    return语句用于函数的终止执行或退出类的方法,并把控制权返回该方法的调用者。

    break语句的三种作用:在switch语句中终止一个语句序列;使用break语句直接强行退出循环;使用break语句实现goto的功能。

    (2)java面向对象程序设计:抽象;继承;封装;多态性。

    继承:指子类拥有父类数据结构的方法和机制,只能是单继承。

    封装性:保证程序和数据不受外部干扰且不被误用,目的在于保护信息;优点有:保护类中的信息;隐藏细节信息;提高复用率。

    多态性:一个接口,多个方法;允许一个接口被多个同类使用。

    对象的特点:对象具有属性和行为;对象具有变化的变化的状态;对象具有唯一性;对象都是某个类别的实例。

    面向对象程序设计优点:可重用性(提高开发效率);可扩展性(便于软件修改);可管理性(将数据与功能结合)。

    (3)Frame(框架):用于描述顶层窗口。

    Swing(用户界面开发工具包):Swing对平台的依赖很小;swing类位于javax.swing包中;所有的swing组件都必须由事件分派线程进行配置。

    JFrame:扩展于Frame类,是不绘制在swing组件上的,它的修饰部件 ( 按钮 、标题栏、图标等)由用户的窗口系统绘制。

    (4)java多线程的实现方式:继承Thread类,重写run函数;实现Runnable接口,重写run函数;实现Callable接口,重写call函数。

    2、实验内容和步骤

    任务1:填写课程课后调查问卷,网址:https://www.wjx.cn/jq/33108969.aspx。

    任务2:综合编程练习

    练习1:设计一个用户信息采集程序,要求如下:

    (1) 用户信息输入界面如下图所示:

     (1)用户点击提交按钮时,用户输入信息显示控制台界面;

    (2)用户点击重置按钮后,清空用户已输入信息;

    (3)点击窗口关闭,程序退出。

    package Project1;
    
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import java.awt.GridLayout;
    import java.awt.LayoutManager;
    import java.awt.Panel;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import java.util.Timer;
    import java.util.TimerTask;
    
    import javax.swing.BorderFactory;
    import javax.swing.ButtonGroup;
    import javax.swing.ButtonModel;
    import javax.swing.JButton;
    import javax.swing.JCheckBox;
    import javax.swing.JComboBox;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JRadioButton;
    import javax.swing.JTextField;
    
    public class DemoJFrame extends JFrame {
        private JPanel jPanel1;
        private JPanel jPanel2;
        private JPanel jPanel3;
        private JPanel jPanel4;
        private JTextField fieldname;
        private JComboBox comboBox;
        private JTextField fieldadress;
        private ButtonGroup bg;
        private JRadioButton nan;
        private JRadioButton nv;
        private JCheckBox reading;
        private JCheckBox traveling;
        private JCheckBox listening;
    
        public DemoJFrame() {
            // 设置窗口大小
            this.setSize(600, 400);
            // 设置可见性
            this.setVisible(true);
            // 设置标题
            this.setTitle("编程练习一");
            // 设置关闭操作
            this.setDefaultCloseOperation(EXIT_ON_CLOSE);
            // 设置窗口居中
            WinCenter.center(this);
            // 创建四个面板对象
            jPanel1 = new JPanel();
            setJPanel1(jPanel1);
            jPanel2 = new JPanel();
            setJPanel2(jPanel2);
            jPanel3 = new JPanel();
            setJPanel3(jPanel3);
            jPanel4 = new JPanel();
            setJPanel4(jPanel4);
            // 设置容器的为流布局
            FlowLayout flowLayout = new FlowLayout();
            this.setLayout(flowLayout);
            // 将四个面板添加到容器中
            this.add(jPanel1);
            this.add(jPanel2);
            this.add(jPanel3);
            this.add(jPanel4);
    
        }
    
        /*
         * 设置面一
         */
        private void setJPanel1(JPanel jPanel) {
            // TODO 自动生成的方法存根
            jPanel.setPreferredSize(new Dimension(700, 45));
            // 给面板的布局设置为网格布局 一行4列
            jPanel.setLayout(new GridLayout(1, 4));
            JLabel name = new JLabel("name:");
            name.setSize(100, 50);
            fieldname = new JTextField("");
            fieldname.setSize(40, 20);
            JLabel study = new JLabel("study:");
            comboBox = new JComboBox();
            comboBox.addItem("junior");
            comboBox.addItem("senior");
            comboBox.addItem("bachelor");
            jPanel.add(name);
            jPanel.add(fieldname);
            jPanel.add(study);
            jPanel.add(comboBox);
    
        }
    
        /*
         * 设置面板二
         */
        private void setJPanel2(JPanel jPanel) {
            // TODO 自动生成的方法存根
            jPanel.setPreferredSize(new Dimension(700, 50));
            // 给面板的布局设置为网格布局 一行4列
            jPanel.setLayout(new GridLayout(1, 4));
            JLabel name = new JLabel("address:");
            fieldadress = new JTextField();
            fieldadress.setPreferredSize(new Dimension(50, 50));
            JLabel study = new JLabel("hobby:");
            JPanel selectBox = new JPanel();
            selectBox.setBorder(BorderFactory.createTitledBorder(""));
            selectBox.setLayout(new GridLayout(3, 1));
            reading = new JCheckBox("reading");
            traveling = new JCheckBox("traveling");
            listening = new JCheckBox("listening");
            selectBox.add(reading);
            selectBox.add(traveling);
            selectBox.add(listening);
            jPanel.add(name);
            jPanel.add(fieldadress);
            jPanel.add(study);
            jPanel.add(selectBox);
        }
    
        /*
         * 设置面板三
         */
        private void setJPanel3(JPanel jPanel) {
            // TODO 自动生成的方法存根
            jPanel.setPreferredSize(new Dimension(700, 150));
            FlowLayout flowLayout = new FlowLayout(FlowLayout.LEFT);
            jPanel.setLayout(flowLayout);
            JLabel sex = new JLabel("sex:");
            JPanel selectBox = new JPanel();
            selectBox.setBorder(BorderFactory.createTitledBorder(""));
            selectBox.setLayout(new GridLayout(2, 1));
            bg = new ButtonGroup();
            nan = new JRadioButton("male");
            nv = new JRadioButton("female");
            bg.add(nan);
            bg.add(nv);
            selectBox.add(nan);
            selectBox.add(nv);
            jPanel.add(sex);
            jPanel.add(selectBox);
    
        }
    
        /*
         * 设置面板四
         */
        private void setJPanel4(JPanel jPanel) {
            // TODO 自动生成的方法存根
            jPanel.setPreferredSize(new Dimension(700, 150));
            FlowLayout flowLayout = new FlowLayout(FlowLayout.CENTER, 50, 10);
            jPanel.setLayout(flowLayout);
            jPanel.setLayout(flowLayout);
            JButton sublite = new JButton("validate");
            JButton reset = new JButton("reset");
            sublite.addActionListener((e) -> valiData());
            reset.addActionListener((e) -> Reset());
            jPanel.add(sublite);
            jPanel.add(reset);
        }
    
        /*
         * 提交数据
         */
        private void valiData() {
            // TODO 自动生成的方法存根
            // 拿到数据
            String name = fieldname.getText().toString().trim();
            String xueli = comboBox.getSelectedItem().toString().trim();
            String address = fieldadress.getText().toString().trim();
            System.out.println(name);
            System.out.println(xueli);
            String hobbystring="";
            if (reading.isSelected()) {
                hobbystring+="reading   ";
            }
            if (traveling.isSelected()) {
                hobbystring+="traveling  ";
            }
            if (listening.isSelected()) {
                hobbystring+="listening  ";
            }
            System.out.println(address);
            if (nan.isSelected()) {
                System.out.println("");
            }
            if (nv.isSelected()) {
                System.out.println("");
            }
            System.out.println(hobbystring);
        }
    
        /*
         * 重置
         */
        private void Reset() {
            // TODO 自动生成的方法存根
            fieldadress.setText(null);//只删除旧文本
            fieldname.setText(null);
            comboBox.setSelectedIndex(0);
            reading.setSelected(false);//设置reading按钮状态为faulse
            traveling.setSelected(false);
            listening.setSelected(false);
            bg.clearSelection();//清除选中内容
        }
    }
    package Project1;
    
    
    
    import java.awt.EventQueue;
    
    import javax.swing.JFrame;
    
    public class Main {
        public static void main(String[] args) {
            EventQueue.invokeLater(() -> {
                DemoJFrame page = new DemoJFrame();
            });
        }
    }
    package Project1;
    
    import java.awt.Dimension;
    import java.awt.Toolkit;
    import java.awt.Window;
    
    public class WinCenter {
        public static void center(Window win){
            Toolkit tkit = Toolkit.getDefaultToolkit();
            Dimension sSize = tkit.getScreenSize();
            Dimension wSize = win.getSize();
            if(wSize.height > sSize.height){
                wSize.height = sSize.height;
            }
            if(wSize.width > sSize.width){
                wSize.width = sSize.width;
            }
            win.setLocation((sSize.width - wSize.width)/ 2, (sSize.height - wSize.height)/ 2);
        }
    }

     

    练习2:采用GUI界面设计以下程序:

     编制一个程序,将身份证号.txt 中的信息读入到内存中;

     按姓名字典序输出人员信息;

     查询最大年龄的人员信息;

     查询最小年龄人员信息;

     输入你的年龄,查询身份证号.txt中年龄与你最近人的姓名、身份证号、年龄、性别和出生地;

     查询人员中是否有你的同乡。

     输入身份证信息,查询所提供身份证号的人员信息,要求输入一个身份证数字时,查询界面就显示满足查询条件的查询结果,且随着输入的数字的增多,查询匹配的范围逐渐缩小。

     

    package 身份查询;
    
        import java.awt.Dimension;
        import java.awt.EventQueue;
        import java.awt.Toolkit;
    
        import javax.swing.JFrame;
    
        public class Out {
    
             public static void main (String args[])
                {
                     Toolkit t=Toolkit.getDefaultToolkit();
                    Dimension s=t.getScreenSize(); 
                    EventQueue.invokeLater(() -> {
                        JFrame frame = new Main1();
                        frame.setBounds(0, 0,(int)s.getWidth(),(int)s.getHeight());
                        frame.setTitle("身份查询系统");
                        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                        frame.setVisible(true);
                     });        
                }
         
        }
    package 身份查询;
    
    
        public class Person implements Comparable<Person> {
            private String name;
            private String ID;
            private int age;
            private String sex;
            private String birthplace;
    
            public String getname() {
            return name;
            }
            public void setname(String name) {
            this.name = name;
            }
            public String getID() {
            return ID;
            }
            public void setID(String ID) {
            this.ID= ID;
            }
            public int getage() {
    
            return age;
            }
            public void setage(int age) {
            this.age= age;
            }
            public String getsex() {
            return sex;
            }
            public void setsex(String sex) {
            this.sex= sex;
            }
            public String getbirthplace() {
            return birthplace;
            }
            public void setbirthplace(String birthplace) {
            this.birthplace= birthplace;
            }
    
            public int compareTo(Person o) {
               return this.name.compareTo(o.getname());
    
            }
    
            public String toString() {
                return  name+"	"+sex+"	"+age+"	"+ID+"	"+birthplace+"
    ";
    
            }
    
    
    
            }
    package 身份查询;
    
        import java.awt.BorderLayout;
        import java.awt.event.ActionEvent;
        import java.awt.event.ActionListener;
        import java.io.BufferedReader;
        import java.io.File;
        import java.io.FileInputStream;
        import java.io.FileNotFoundException;
        import java.io.IOException;
        import java.io.InputStreamReader;
        import java.util.*;
        import java.util.Timer;
        import javax.swing.*;
    
        public class Main1 extends JFrame
        {
            private static ArrayList<Person> Personlist;
            
            
            Scanner scanner = new Scanner(System.in);
            File file = new File("F:\身份证号.txt");
            
            private JPanel Panel;
            private JLabel JLabel1;
            private JButton Button,Button2,Button3;
            private JTextArea text,text1,text2,text3;
            boolean tru=true;
            
            
            
            public  Main1() {
    
                
                Panel = new JPanel();Panel.setLayout(null);
                Button = new JButton("1:按姓名字典序输出人员信息");
                Button2 = new JButton("2:查询最大年龄与最小年龄人员信息");
                Button3 = new JButton("查询相近年龄");
                JLabel1 = new JLabel("输入身份证号或者地址查询");JLabel1.setBounds(900, 50, 400, 30);
                
                text=new JTextArea(30,80);text.setBounds(50, 180, 700, 700);
                text1=new JTextArea(1,30);text1.setBounds(900, 80, 400, 30);
                text2=new JTextArea(30,80);text2.setBounds(900,180,700, 700);
                text3=new JTextArea(30,80);text3.setBounds(420,100,200,40);
               
                Button.addActionListener(new Action());Button.setBounds(50,50,300,40);
                Button2.addActionListener(new Action1());Button2.setBounds(50,100,300,40);
                Button3.addActionListener(new Action2());Button3.setBounds(650,100,120,40);
                Panel.add(JLabel1);
                Panel.add(Button);
                Panel.add(Button2);
                Panel.add(Button3);
                Panel.add(text);
                Panel.add(text2);
                Panel.add(text1);
                Panel.add(text3);
                add(Panel);
                
                
                Timer timer = new Timer();      
                TimerTask timeTask=new TimerTask() {
                    
                     @Override
                    public void run()
                     {             
                             // TODO Auto-generated method stub
                             text2.setText(null);
                             String place=text1.getText().toString().trim();
                             for (int i = 0; i <Personlist.size(); i++) 
                             {
                                 
                                 String Str=(String)Personlist.get(i).getbirthplace();
                                 if(Str.contains(place)&&!place.equals("")) 
                                     {
                                     text2.append(Personlist.get(i).toString());
                                     }  
                            }      
                             for (int i = 0; i <Personlist.size(); i++) 
                             {
                                 
                                 String Str=(String)Personlist.get(i).getID();
                                 if(Str.contains(place)&&!place.equals("")) 
                                     {
                                     text2.append(Personlist.get(i).toString());
                                     }  
                            }    
                             
                    }
                    
                };timer.schedule(timeTask, 0,100);
             
                Personlist = new ArrayList<>();       
                try {
                    FileInputStream fis = new FileInputStream(file);
                    BufferedReader in = new BufferedReader(new InputStreamReader(fis));
                    String temp = null;
                    while ((temp = in.readLine()) != null) {            
                        Scanner linescanner = new Scanner(temp);               
                        linescanner.useDelimiter(" ");    
                        String name = linescanner.next();
                        String ID = linescanner.next();
                        String sex = linescanner.next();
                        String age = linescanner.next();
                        String place =linescanner.nextLine();
                        Person Person = new Person();
                        Person.setname(name);
                        Person.setID(ID);
                        Person.setsex(sex);
                        int a = Integer.parseInt(age);
                        Person.setage(a);
                        Person.setbirthplace(place);
                        Personlist.add(Person);
    
                    }
                } catch (FileNotFoundException e) {
                    System.out.println("查找不到信息");
                    e.printStackTrace();
                } catch (IOException e) {
                    System.out.println("信息读取有误");
                    e.printStackTrace();
                }
         
                
            }
            
            
    
    
            private class Action implements ActionListener
            {
            public void actionPerformed(ActionEvent event)
                {        
                 text.setText(null);
                 Collections.sort(Personlist);
                 text.append(Personlist.toString());
                }
    
            }         
    
            private class Action1 implements ActionListener
                {
                public void actionPerformed(ActionEvent event)
                    {        
                    text.setText(null);
                    int max=0,min=100;int j,k1 = 0,k2=0;
                    for(int i=1;i<Personlist.size();i++)
                    {
                        j=Personlist.get(i).getage();
                       if(j>max)
                       {
                           max=j; 
                           k1=i;
                       }
                       if(j<min)
                       {
                           min=j; 
                           k2=i;
                       }
                    }  
                    text.append("年龄最大:   "+Personlist.get(k1)+"
    "+"年龄最小:  "+Personlist.get(k2));     
                    }
           
                }          
    
            private class Action2 implements ActionListener
            {
            public void actionPerformed(ActionEvent event)
                {        
                 text.setText(null);
                 int a = Integer.parseInt(text3.getText().toString().trim());         
                 int d_value=a-Personlist.get(agenear(a)).getage();
                 
                 for (int i = 0; i < Personlist.size(); i++)
                 {
                     int p=Personlist.get(i).getage()-a;
                    
                     if(p==d_value||-p==d_value) text.append(Personlist.get(i).toString());
                 } 
                }
    
            } 
            
            
            public static int agenear(int age) {
                
                int j=0,min=53,d_value=0,k=0;
                 for (int i = 0; i < Personlist.size(); i++)
                 {
                     d_value=Personlist.get(i).getage()-age;
                     if(d_value<0) d_value=-d_value; 
                     if (d_value<min) 
                     {
                        min=d_value;
                        k=i;
                     }
    
                  }    return k;
                 
              }
    
        }

    练习3:采用GUI界面设计以下程序

     编写一个计算器类,可以完成加、减、乘、除的操作

     利用计算机类,设计一个小学生100以内数的四则运算练习程序,由计算机随机产生10道加减乘除练习题,学生输入答案,由程序检查答案是否正确,每道题正确计10分,错误不计分,10道题测试结束后给出测试总分;

    将程序中测试练习题及学生答题结果输出到文件,文件名为test.txt。

    import java.awt.Dimension;
    import java.awt.EventQueue;
    import java.awt.Toolkit;
    
    import javax.swing.JFrame;
    
    public class Test {
    
         public static void main (String args[])
            {
                 Toolkit t=Toolkit.getDefaultToolkit();
                Dimension s=t.getScreenSize(); 
                EventQueue.invokeLater(() -> {
                    JFrame frame = new Demo();
                    frame.setBounds(0, 0,(int)s.getWidth()/2,(int)s.getHeight()/2);
                    frame.setTitle("计算");
                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    frame.setVisible(true);
                 });        
            }
     
    }
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.FileNotFoundException;
    import java.io.PrintWriter;
    import java.util.Collections;
    import java.util.Scanner;
    
    import javax.swing.*;
    
    import java.math.*;
    
    
    public class jisuan extends JFrame {
        
        private String[] c=new String[10];
        private String[] c1=new String[10];
        private int[] list=new int[10];
        int i=0,i1=0,sum = 0;
        private PrintWriter out = null;
        private JTextArea text,text1;
        private int counter;
        
        public Demo()  {
            JPanel Panel = new JPanel();//创建具有双缓冲和流布局的新 JPanel。 
            Panel.setLayout(null);
            JLabel JLabel1=new JLabel("");//创建具有制定文本的标签1
            JLabel1.setBounds(500, 800, 400, 30);//给定标签1的大小(x,y,height,width)
            JLabel1.setFont(new Font("Courier",Font.PLAIN,35));//根据指定名称、样式和磅值大小,创建一个 Font。 
            JButton Button = new JButton("生成题目");//创建“生成题目”按钮
            Button.setBounds(50,150,150,50);Button.setFont(new Font("Courier",Font.PLAIN,20)); //规定按钮大小和按钮中字体风格等
            Button.addActionListener(new Action());//动作监听器,在有新动作时产生回应
            JButton Button2 = new JButton("确定答案");//创建“确定答案”按钮
            Button2.setBounds(300,150,150,50);Button2.setFont(new Font("Courier",Font.PLAIN,20));
            Button2.addActionListener(new Action1());
            JButton Button3 = new JButton("读出文件");//创建“读出文件”按钮
            Button3.setBounds(500,150,150,50);Button3.setFont(new Font("Courier",Font.PLAIN,20));
            Button3.addActionListener(new Action2());
             text=new JTextArea(30,80);//构造30行,80列的new TextArea
             text.setBounds(30, 50, 200, 50);//组件位置
             text.setFont(new Font("Courier",Font.PLAIN,35));//文本域中字体名称样式磅值大小
             text1=new JTextArea(30,80);
             text1.setBounds(270, 50, 200, 50);
             text1.setFont(new Font("Courier",Font.PLAIN,35));
            
             //两个空的文本域
             Panel.add(text);
             Panel.add(text1);
             
             //将三个按钮和一个标签添加到面板
             Panel.add(Button);
             Panel.add(Button2);
             Panel.add(Button3);
             Panel.add(JLabel1);
             add(Panel);
               
                      
        }
        
        private class Action implements ActionListener
        {
        public void actionPerformed(ActionEvent event)
            {        
            text1.setText("0");
            if(i<10) {
            
            int a = 1+(int)(Math.random() * 99);
            int b = 1+(int)(Math.random() * 99);
            int m= (int) Math.round(Math.random() * 3);
          switch(m)
          {
          case 0:
              while(a<b){  b = (int) Math.round(Math.random() * 100);a = (int) Math.round(Math.random() * 100); }  
              c[i]=(i+":"+a+"/"+b+"=");
                list[i]=Math.floorDiv(a, b);
                text.setText(i+":"+a+"/"+b+"=");
                i++;
                
              break; 
          case 1:
              c[i]=(i+":"+a+"*"+b+"=");
              list[i]=Math.multiplyExact(a, b);
              text.setText(i+":"+a+"*"+b+"=");        
             i++;
              break;
          case 2:
              c[i]=(i+":"+a+"+"+b+"=");
              list[i]=Math.addExact(a, b);
             text.setText(i+":"+a+"+"+b+"=");
             i++;
              break ;
          case 3:
              while(a<=b){  b = (int) Math.round(Math.random() * 100);a = (int) Math.round(Math.random() * 100); }    
              c[i]=(i+":"+a+"-"+b+"=");
              text.setText(i+":"+a+"-"+b+"=");
              list[i]=Math.subtractExact(a, b);i++;
    
              break ;
              }
            }
          }
        }      
        private class Action1 implements ActionListener
        {
        public void actionPerformed(ActionEvent event)
            {    
            if(i<10) {
            text.setText(null);        
            String daan=text1.getText().toString().trim();
            int a = Integer.parseInt(daan);
            if(text1.getText()!="") {
             if(list[i1]==a) sum+=10;
             }
            
             c1[i1]=daan;
             
             i1++;
             
            }
            }
    
        }      
        
    
        private class Action2 implements ActionListener
        {
        public void actionPerformed(ActionEvent event)
            {
             
            try {
                out = new PrintWriter("text.txt");
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            for(int counter=0;counter<10;counter++)
            {
                out.println(c[counter]+c1[counter]);
            }
            out.println("成绩"+sum);
            out.close();
    
            }
    
        }   
    }

     

    任务3:本学期课程已结束,请汇总《面向对象程序设计课程学习进度条》的数据,统计个人专业能力提升的数据。并从学习内容、学习方法、学习心得几个方面进行课程学习总结,也希望你对课程的不足提出建议和意见。

    实验总结:这学期学习java的基本概念,程序设计的特点

    通过本学期的java课程学习,从刚开始到现在慢慢的学习、了解、熟悉java,在这个学习过程当中幸好有老师和助教的耐心讲解,在我们不懂得时候老师与助教相互配合,不仅在课堂上详细讲解,还在课下我们不懂的地方助教会每周固定时间答疑,在平时如果有问题老师和助教会热心解答回复我们的疑惑之处。

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    [ArcGIS API for JavaScript 4.8] Sample Code-Get Started-MapView,SceneView简介
    [C语言]易错知识点、小知识点复习(1)
    OpenID Connect Core 1.0(二)ID Token
    轻量ORM-SqlRepoEx 重大升级
    OpenID Connect Core 1.0(一)介绍
    轻量ORM-SqlRepoEx (五) 存储过程操作
    轻量ORM-SqlRepoEx (四)INSERT、UPDATE、DELETE 语句
    轻量ORM-SqlRepoEx (三)Select语句
    轻量ORM-SqlRepoEx (二)初始化SqlRepoEx
    轻量ORM-SqlRepoEx (一)SqlRepoEx介绍
  • 原文地址:https://www.cnblogs.com/LZM7343/p/10199848.html
Copyright © 2011-2022 走看看