站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题复习J2SE连接SQL Server数据库小有收获

复习J2SE连接SQL Server数据库小有收获

摘要: 复习J2SE连接SQL Server数据库小有收获
哈哈,终于有小足的进步拉! 虽然今天是上课,本该没有时间复习的,但是:我,决定了,反正Struts我学不大通与其浪费时间不如抓紧来复习要好得多。 还有一件事情要通知:羊头下周要去参加培训了,也就是说,我们要修课十多天。 这可能算个好消息,因为我可以由时间来复习了。 恩,我打算利用这些天读通TIJ,也就是《Think In Java》即编程思想。 好啦,先谈谈技术方面的吧,我总结的一些。 今天是用JCreater做了一个简单的J2SE工程,然后逻辑部分没变,再默背的将它改成Java Web工程,注意,全部都是手工配置。 逻辑部分,我只是显示了一个Hello的欢迎页面,然后在上面显示了连接数据库之后所取出的数据。 共用了三个文件:ConnBean.java(连接数据库的Bean),JobsBean.java属性Bean也就是实体Bean,关于pubs库下的Jobs表的),还有MyTest.java(这个是操作类)( 现在显示的代码是J2SE版的。 ConnBean.javaimport java.awt.List;import java.sql.*;import java.util.ArrayList; public class ConnBean { Connection con; Statement st; ResultSet rs; //这个方法就是专门来连接数据库的 public ConnBean(){ try{//记住要用try块包起来哦,否则会给你报不安全隐患的错误//重点:在try块里面的变量出了块就不会被识别不可以使用,但块外的变量在块里可以使用,很让人苦恼 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//1 con=DriverManager.getConnection("jdbc:odbc:mytest","sa","");//2 st=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);//3,参数可不写 rs=st.executeQuery("select * from jobs");//4 //上面这4句话是一定要记住的,是连接数据库必备!! rs.first(); System.out.print(rs.getString(1)); }catch(Exception ex){ ex.printStackTrace(); } } //而这个方法呢,是用来将整个表的数据塞进一个变量里的,就是ArrayList类型//方法实现将一行数据塞进一个属性Bean里,再循环将每个Bean塞进ArrayList,然后//整个函数返回这个ArrayList,以供其他人用 public ArrayList getJobs(){ ArrayList ls=new ArrayList();//1 try{ while(rs.next()){//2 JobsBean jb=new JobsBean();//3 jb.setJob_id(rs.getInt("job_id"));//4 jb.setJob_desc(rs.getString("job_desc")); jb.setMin_lvl(rs.getInt("min_lvl")); jb.setMax_lvl(rs.getInt("max_lvl")); ls.add(jb);//4 //这四句话也是必须要记住的,关键处 } }finally{ return ls; } }} JobsBean.java//属性Bean,没得说了,就是可存一行数据的一个对象public class JobsBean{ private int job_id; private String job_desc; private int min_lvl,max_lvl; public int getJob_id(){ return this.job_id; } public void setJob_id(int id){ this.job_id=id; } public String getJob_desc(){ return this.job_desc; } public void setJob_desc(String d){ this.job_desc=d; } public int getMin_lvl(){ return this.min_lvl; } public void setMin_lvl(int min){ this.min_lvl=min; } public int getMax_lvl(){ return this.max_lvl; } public void setMax_lvl(int max){ this.max_lvl=max; }} Mytest.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.util.ArrayList; public class Mytest{ public static void main(String args[]){ new iFrame(); System.out.print("Success~~"); }} class iFrame extends JFrame implements ActionListener{ private JButton jbtnOK,jbtnCancel; private JPanel p; public void CreateObj(){ jbtnOK=new JButton("OK"); jbtnCancel=new JButton("Cancel"); p=new JPanel(); } public iFrame(){ this.CreateObj(); this.getContentPane().setLayout(new GridLayout(1,1)); this.getContentPane().add(p); p.setLayout(new FlowLayout()); p.add(jbtnOK); p.add(jbtnCancel); jbtnOK.addActionListener(this); this.setSize(300,300); this.show(); //以上都和数据库没关,不用管他,是我回想Swing窗体用的 ConnBean c=new ConnBean();//1 ArrayList ls=c.getJobs();//2 JobsBean jobs=(JobsBean)ls.get(1);//3 System.out.println("jobs.getJob_desc() is::"+jobs.getJob_desc());//4//这四句,也是必定要记住的,不过虽难记,但只要知道目的,就可一步一步的推//理出来了,很方便。目的就是先连上数据库,再得到表里的全部数据,然后用属//性Bean来控制每一行的数据,并显示出来,就这样。 } public void actionPerformed(ActionEvent ae){ if(ae.getSource().equals(jbtnOK)){ JOptionPane.showMessageDialog(this,"Ok"); System.out.println("OK"); } } } 今天快要到睡觉时间了,再加上还没什么经验,所以没有好好整理就全部贴上来了,请不要介意,下次一定改!! 我要说的是上面注释过的都是重点要记下来的背下来的。还有,这里连的是SQL Server数据库,用的是数据源创建的连接。这个实例主要讲的是,怎样连接数据库并将数据取出,而且还必须用三层架构(虽然这里界面层没体现出来)。


↑返回目录
前一篇: 与太阳神对话——j2se之旅
后一篇: J2SE--关键字