项目笔记(物业管理系统)

来源:互联网 发布:动漫创作软件 编辑:程序博客网 时间:2024/06/11 23:47

一、项目分为四部分

1、总体设计,检查工作

2、数据库设计,框架设计

3、具体编码

4、界面设计,系统调试

二、连接mysql数据库

我用MySQL装载驱动的方式连接数据库,工程中导入mysql-connector-java-5.1.25-bin.jar

(1)装载驱动程序Class.forName("com.mysql.jdbc.Driver"); 

(2)定义数据库的地址String DBURL="jdbc:mysql://localhost:3300/wy",jdbc:<子协议>:<子名称>

  子协议:数据库驱动程序名或数据库联结机制名。子名称:根据子协议而变化,一般由4部分组成:驱动程序类型,数据库  ip,端口号,数据库名字

(3)连接数据库DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD); 

(4)建立statement对象statement=connection.createStatement();

(5)声明并执行sql语句ResultSet rs=statement.executeQuery(sql1);

(6)对结果集进行处理

private static final String DBDRIVER="com.mysql.jdbc.Driver";          //驱动类类名private static final String DBURL="jdbc:mysql://localhost:3300/wy";    //连接URLprivate static final String DBUSER="root";                             //数据库用户名private static final String DBPASSWORD="12345";                         //数据库密码private static Connection connection=null;   //声明一个连接对象public static Connection getConnection() {      //连接数据库try {Class.forName(DBDRIVER);       //注册驱动connection=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD); //获得连接对象} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}return connection;}
三、设计登陆页面,验证

1、Login方法中Container container=getContentPane();获取当前JPanel,在他的上面添加组件

2、注意布局(setLayout方法)

3、为按钮添加事件okButton.addActionListener,做出响应。

4、验证,查询数据库user表单,与当前输入的比对,正确则弹出主界面

四、JTable,JSCrollPanel控件,AbstractTableModel对象

在JTable表格控件中,数据 与 表格 是分开的,这个分开的意思就是:表格内的数据是单独存放的,从数据库表中读取的数据暂存在Vector对象中,在Java中 JTable的数据是以AbstractTableModel表模式的方式存放的,这个AbstractTableModel就是用来存放数据的,当Table初始化的时候通过AbstractTableModel获取表格的 行数、列数、列标题、以及每个单元格存放的数据,于是当表格现实的时候就可以显示出对应的数据了。AbstractTableModel是抽象类,实现如下方法

JTable table;JScrollPane scroll;tm=new AbstractTableModel() {@Overridepublic Object getValueAt(int row, int column) {if(!vector.isEmpty()){return ((Vector)vector.elementAt(row)).elementAt(column);}elsereturn null;}@Overridepublic int getRowCount() {// TODO Auto-generated method stubreturn vector.size();}@Overridepublic int getColumnCount() {// TODO Auto-generated method stubreturn title.length;}public String getColumnName(int column){ return title[column];}public Class getColumnClass(int c){ return getValueAt(0,c).getClass(); }//取得列所属对象类 };table=new JTable(tm);table.setToolTipText("Display Query Result");table.setAutoResizeMode(table.AUTO_RESIZE_OFF);table.setCellSelectionEnabled(false);table.setShowHorizontalLines(true);table.setShowVerticalLines(true);scroll=new JScrollPane(table);scroll.setBounds(6,20,540,250);tableJPanel.add(scroll);}
五、对数据库进行增删改查

add:"insert into table_name(district_id,....)values("+Integer.parseInt(field1.getText())+.....

delete:"delete from community_info where district_id="+Integer.parseInt(field1.getText());

change:"update set district_id="+Integer.parseInt(field1.getText())+....+"WHERE district_id="+Integer.parseInt(field1.getText()); 

search:"select * from building_info where district_id="+Integer.parseInt(f1.getText());

update:"select * from building_info";
六、在JPanel中添加图片

         imageIcon = new ImageIcon("B:/p1.jpg"); //写入文件路径       imageLabel = new JLabel(imageIcon);         //初始化JLabel       jpanel = new JPanel();       this.add(BorderLayout.CENTER,jpanel);       this.setVisible(true);  //设置为显示<span style="white-space:pre"></span>       this.pack();<span style="white-space:pre"></span>       //设置jframe的大小       this.setBounds(new Rectangle(100,100,imageIcon.getIconWidth(),imageIcon.getIconHeight()));          jpanel.add(BorderLayout.CENTER,imageLabel);



0 0
原创粉丝点击