??xml version="1.0" encoding="utf-8" standalone="yes"?>香蕉久久夜色精品国产更新时间 ,亚洲无线看天堂av,98精品在线视频http://www.aygfsteel.com/chenjinlong/zh-cnTue, 17 Jun 2025 17:06:52 GMTTue, 17 Jun 2025 17:06:52 GMT60文g加密解密http://www.aygfsteel.com/chenjinlong/archive/2011/08/26/357338.htmlchenjinlongchenjinlongFri, 26 Aug 2011 03:49:00 GMThttp://www.aygfsteel.com/chenjinlong/archive/2011/08/26/357338.htmlhttp://www.aygfsteel.com/chenjinlong/comments/357338.htmlhttp://www.aygfsteel.com/chenjinlong/archive/2011/08/26/357338.html#Feedback0http://www.aygfsteel.com/chenjinlong/comments/commentRss/357338.htmlhttp://www.aygfsteel.com/chenjinlong/services/trackbacks/357338.html/**加密
  *
  */
 public static String doEncrypt(String xmlStr) {
  try {
   return URLEncoder.encode(xmlStr, "GBK");
  } catch (UnsupportedEncodingException e) {
   e.printStackTrace();
  }
  return "加密错误";
 }

 /**
  * 解密
  * @param saveFile
  */
 public static void decrypt(File saveFile) {
  try {
   BufferedReader reader = null;
         reader = new BufferedReader(new FileReader(saveFile));
         String tempString = null;
         String str2 =null;
         while ((tempString = reader.readLine()) != null) {
          str2=URLDecoder.decode(tempString);
         }
   FileOutputStream fos = new FileOutputStream(saveFile);
   fos.write(str2.getBytes());
   fos.close();
         reader.close();
 
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
 
 
 public static void main(String[] args) throws UnsupportedEncodingException {
  
  System.out.println(URLDecoder.decode("C:\\Documents and Settings\\chenchangqing\\Desktop\\实物转移_20110824030821.xml", "GBK"));
 }




q是把文件内容{换成字符的方?img src ="http://www.aygfsteel.com/chenjinlong/aggbug/357338.html" width = "1" height = "1" />

chenjinlong 2011-08-26 11:49 发表评论
]]>
smartupload.jar 实现文g上传下蝲http://www.aygfsteel.com/chenjinlong/archive/2010/11/12/337943.htmlchenjinlongchenjinlongFri, 12 Nov 2010 12:44:00 GMThttp://www.aygfsteel.com/chenjinlong/archive/2010/11/12/337943.htmlhttp://www.aygfsteel.com/chenjinlong/comments/337943.htmlhttp://www.aygfsteel.com/chenjinlong/archive/2010/11/12/337943.html#Feedback0http://www.aygfsteel.com/chenjinlong/comments/commentRss/337943.htmlhttp://www.aygfsteel.com/chenjinlong/services/trackbacks/337943.html阅读全文

chenjinlong 2010-11-12 20:44 发表评论
]]>
面向对象 —方法重写、重载…?/title><link>http://www.aygfsteel.com/chenjinlong/archive/2010/08/23/329705.html</link><dc:creator>chenjinlong</dc:creator><author>chenjinlong</author><pubDate>Mon, 23 Aug 2010 12:10:00 GMT</pubDate><guid>http://www.aygfsteel.com/chenjinlong/archive/2010/08/23/329705.html</guid><wfw:comment>http://www.aygfsteel.com/chenjinlong/comments/329705.html</wfw:comment><comments>http://www.aygfsteel.com/chenjinlong/archive/2010/08/23/329705.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/chenjinlong/comments/commentRss/329705.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/chenjinlong/services/trackbacks/329705.html</trackback:ping><description><![CDATA[区别Ҏ(gu)重写Q覆盖)(j)和方法重载?<br /> Ҏ(gu)重写Q方法名字、参数列表和q回cd必须相同。类中只允许出现一ơ这L(fng)Ҏ(gu)Q要接着往子类当中写入。类中的Ҏ(gu)覆盖Q父cd子类都可以相同?br /> Ҏ(gu)重蝲Q方法名字相同,参数列表必须要不同,q回cd随意。构造器是典型的方法重载?br /> <br /> this和super关键字的用法Qthis表示的本cȝҎ(gu)和成员;super表示父类的方法和成员。thisQ)(j)和superQ)(j)都必L在一个方法的开头?br /> 如果子类构造器中没有显式地调用父类构造器Q也没有使用this关键字调用重载的其他构造器Q则pȝ默认调用父类无参数的构造器QsuperQ)(j)?br /> <br /> 块执行:(x)<br /> 在一个类中有初始化块要先执行Q然后再是构造器?br /> 如:(x)<br /> public class Test<br /> {<br />     String name;<br />      int age;<br />      String sex;<br />      public Test()<br />      {<br />           System.out.println("Test1被调?);<br />           sex ="Male";<br />           System.out.println("name="+name+" ,age="+age+" ,sex="+sex);<br />       }<br />      public Test(String theName)<br />      {  <br />           System.out.println("Test2被调?);<br />           name = theName;<br />           System.out.println("name="+name+" ,age="+age+" ,sex="+sex);<br />      }<br />      {<br />           name = "Tony Blair";<br />           age = 50;<br />           sex = "Female";<br />           System.out.println("Test初始化块执行后:(x)name="+name<br />            +" ,age="+age+" ,sex="+sex);<br />       } <br /> <br />       public static void main(String args[])<br />      {  <br />            Test t=new Test();<br />       }<br /> }<br /> <br /> <img src ="http://www.aygfsteel.com/chenjinlong/aggbug/329705.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/chenjinlong/" target="_blank">chenjinlong</a> 2010-08-23 20:10 <a href="http://www.aygfsteel.com/chenjinlong/archive/2010/08/23/329705.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>static和final关键?http://www.aygfsteel.com/chenjinlong/archive/2010/08/23/329704.htmlchenjinlongchenjinlongMon, 23 Aug 2010 12:09:00 GMThttp://www.aygfsteel.com/chenjinlong/archive/2010/08/23/329704.htmlhttp://www.aygfsteel.com/chenjinlong/comments/329704.htmlhttp://www.aygfsteel.com/chenjinlong/archive/2010/08/23/329704.html#Feedback0http://www.aygfsteel.com/chenjinlong/comments/commentRss/329704.htmlhttp://www.aygfsteel.com/chenjinlong/services/trackbacks/329704.htmlstatic关键字可用在变量、方法和内部cM?br /> 在类的定义体中,Ҏ(gu)的外部可包含static语句块,在所属的c被载入时执行一ơ,用于初始化static属性,但不能初始化非静态变量,cd量在整个cM׃n?br /> 如:(x)
public class Count {
  private int serialNumber;
  public static int counter;

  static {
    System.out.println("static自由块被执行");   //先执行静态块
    counter = 1;
  }

  public static int getTotalCount() {
    return counter;
  }
  public Count() {
    counter++;
    serialNumber=counter;
  }
  public static void main(String[] args)
  {
   System.out.println("main() invoked");
   System.out.println("counter = "+Count.counter);
        Count t=new Count();
        System.out.println("counter = "+Count.counter+" "+t.serialNumber);
  }
}

java.lang.Math是一个finalc,不可被承,final变量是引用变量,则不可以改变它的引用对象Q但可以改变对象的数据,finalҎ(gu)不可以被覆盖Q但可以被重载?br /> 如:(x)
class Aclass
{
 int a;
 //构造器
 public Aclass()
 {
  a = 100;
 }
 final public void paint(){
  System.out.println("55555555");
 }
 final public void paint(int i){
  System.out.println(i);
 }
 public void setA(int theA)
 {
  a = theA;
 }
 public int getA()
 {
  return a;
 }
}

//定义一个类来测?br /> public class TestFinal
{       
       //如果final变量是引用变量,则不可以改变它的引用对象Q但可以改变对象的数?br />  final Aclass REF_VAR=new Aclass();
 public static void main(String[] args)
 {
  TestFinal tf = new TestFinal();
  tf.REF_VAR.setA(1);
  System.out.println(tf.REF_VAR.getA());
  tf.REF_VAR.paint();
  tf.REF_VAR.paint(1);
 }
}



chenjinlong 2010-08-23 20:09 发表评论
]]>
abstract和interface关键?http://www.aygfsteel.com/chenjinlong/archive/2010/08/23/329703.htmlchenjinlongchenjinlongMon, 23 Aug 2010 12:08:00 GMThttp://www.aygfsteel.com/chenjinlong/archive/2010/08/23/329703.htmlhttp://www.aygfsteel.com/chenjinlong/comments/329703.htmlhttp://www.aygfsteel.com/chenjinlong/archive/2010/08/23/329703.html#Feedback0http://www.aygfsteel.com/chenjinlong/comments/commentRss/329703.htmlhttp://www.aygfsteel.com/chenjinlong/services/trackbacks/329703.html
interface声明Ҏ(gu)和变量,Ҏ(gu)抽象c,和类不同的是Q一个接口可以承多个父cL口,多个无关的类可以实现同一个接口,一个类可以实现多个无关的接口?

chenjinlong 2010-08-23 20:08 发表评论
]]>
关于jsp面?通过url传递参?出现q的问? http://www.aygfsteel.com/chenjinlong/archive/2010/08/23/329702.htmlchenjinlongchenjinlongMon, 23 Aug 2010 12:04:00 GMThttp://www.aygfsteel.com/chenjinlong/archive/2010/08/23/329702.htmlhttp://www.aygfsteel.com/chenjinlong/comments/329702.htmlhttp://www.aygfsteel.com/chenjinlong/archive/2010/08/23/329702.html#Feedback0http://www.aygfsteel.com/chenjinlong/comments/commentRss/329702.htmlhttp://www.aygfsteel.com/chenjinlong/services/trackbacks/329702.html 只适合PostҎ(gu)提交的数据,

2 . 适合用GetҎ(gu)提交的数?br /> String name = request.getParameter("name");
name=new String(name.getBytes(“ISO8859_1”),“UTF-8”);

3 .
针对Tomcat服务器,修改server.xml
<Connector port="8083" protocol="HTTP/1.1"
       connectionTimeout="20000"
       redirectPort="8443"
       URIEncoding="UTF-8" />
q个只用GETҎ(gu)Q不适合PostҎ(gu)

chenjinlong 2010-08-23 20:04 发表评论
]]>
使用JDBCq接SQL SERVER 2008的方?http://www.aygfsteel.com/chenjinlong/archive/2010/08/23/329701.htmlchenjinlongchenjinlongMon, 23 Aug 2010 12:03:00 GMThttp://www.aygfsteel.com/chenjinlong/archive/2010/08/23/329701.htmlhttp://www.aygfsteel.com/chenjinlong/comments/329701.htmlhttp://www.aygfsteel.com/chenjinlong/archive/2010/08/23/329701.html#Feedback0http://www.aygfsteel.com/chenjinlong/comments/commentRss/329701.htmlhttp://www.aygfsteel.com/chenjinlong/services/trackbacks/329701.html使用JDBCq接SQL SERVER 2008Q很多h都在问,我自׃试几次Q发现按照以前的Ҏ(gu)q接?x)出C点小问题。原因在于,SQL SERVER 2008采用了动态端口的机制Q按照以前的Ҏ(gu)q接?x)报告连接不了,其实端口写对了完全没有问题。连接方法如下:(x)

1Q微软目前没有发布针对SQL Server 2008专用的JDBC驱动E序Q用SQL Server 2005 的就可以了,但是Q需要注意:(x) SQL Server 2008的新功能无法使用Q这个必ȝ专用的JDBC发布之后才能使用。下载地址Q?

Microsoft SQL Server 2005 JDBC Driver 1.2

http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=c47053eb-3b64-4794-950d-81e1ec91c1ba

2Q设|端口ؓ(f)固定端口Q?/p>

SQL Server 配置理器,按图讄卛_

 


注意Q动态端口设为空Q即可禁用动态端?/p>

q接的写法:(x)


jdbc:sqlserver://192.168.3.6:1368;databaseName=数据库名U?user=用户?password=密码




chenjinlong 2010-08-23 20:03 发表评论
]]>
数据库连接池DBCP http://www.aygfsteel.com/chenjinlong/archive/2010/08/23/329700.htmlchenjinlongchenjinlongMon, 23 Aug 2010 12:01:00 GMThttp://www.aygfsteel.com/chenjinlong/archive/2010/08/23/329700.htmlhttp://www.aygfsteel.com/chenjinlong/comments/329700.htmlhttp://www.aygfsteel.com/chenjinlong/archive/2010/08/23/329700.html#Feedback0http://www.aygfsteel.com/chenjinlong/comments/commentRss/329700.htmlhttp://www.aygfsteel.com/chenjinlong/services/trackbacks/329700.html概念Q数据库q接池负责分配、管理和释放数据库连接,它允许应用程序重复用一个现有的数据库连接,而不再是重新建立一个连接;释放I闲旉过最大空闲时间的数据库连接,以避免因为没有释放数据库q接而引L(fng)数据库连接遗漏?/p>

需要注意:(x)
1. 最连接数是连接池一直保持的数据库连接,所以如果应用程序对数据库连接的使用量不大,会(x)有大量数据库q接资源被浪贏V?br /> 2. 最大连接数是连接池能申L(fng)最大连接数Q如果数据库q接h过此数Q后面的数据库连接请求将被加入到{待队列中,q会(x)影响之后的数据库操作?/p>

数据库连接池的两个Q务:(x)
1. 限制每个应用或系l可以拥有的最大资源,也就是确定连接池的大(PoolSizeQ?br /> 2. 在连接池的大(PoolSizeQ范围内、最大限度地使用资源Q羃短数据库讉K的用周期?/p>

例如Q?物理q接?00个,每个q接提供250个StatemetQ那么ƈ发的StatementL?00*250=50000个?/p>

Java开源连接池Q?br /> Jakarta DBCP 可直接在应用E序中用。(比较常用Q集成在Tomcat和Struts中)(j)
C3P0是Hibernate的默认数据库q接池。(常用QHibernateQ?br /> 其他的还有Proxool、DDConnectionBroker、DBPool、XAPool、Primrose、SmartPool、MiniConnectionPoolManager?/p>


DBCP代码实现Q?br /> //创徏数据?br /> public static DataSource setupDataSource(String connectURI) {
    BasicDataSource ds = new BasicDataSource();
    ds.setDriverClassName(org.gjt.mm.mysql.Driver);
    ds.setUsername("username");
    ds.setPassword("password");
    ds.setUrl(connectURI);
    return ds;   
}

//关闭数据?br /> public static void shutdownDataSource(DataSource ds) throws SQLException {
    BasicDataSource bds = (BasicDataSource)ds;
    bds.close();
}

//数据源的使用

DataSource dataSource = getDataSource();
  Connection conn = null;
  PreparedStatement pstmt = null;
  ResultSet rs = null;
  
  try {
   conn = dataSource.getConnection();
   pstmt = conn.prepareStatement("select * from users");
   rs = pstmt.executeQuery();
   while(rs.next()) {
    System.out.println(rs.getInt("id"));
   }
  } catch(Exception e) {
   e.printStackTrace();
  } finally {
   try {
    rs.close();
    pstmt.close();
    conn.close();
   } catch(Exception ex) {
    ex.printStackTrace();
   }
  } 




在Tomcat中配|数据库q接池:(x)

我们使用Tomcat中lib文g夹下的tomcat-dbcp.jar?br /> 1. 修改server.xml文g?lt;Service>中写入以下代?
<Context path="/WebProject" docBase="WebProject" reloadable="true" crossContext="true">
     
     <Resource auth="Container" name="jdbc/CompanyDB" type="javax.sql.DataSource"
      factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" 
     driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"     
     url="jdbc:sqlserver://localhost:1433;DataBaseName=Company" 
     username="sa" 
      password="root" 
      maxActive="100" 
      maxIdle="30" 
      maxWait="10000"   
     removeAbandoned=“true”
      removeAbandonedTimeOut="10" 
      logAbandoned="true"/>
    </Context>


pathQ工E\径?br /> docBaseQ工E名字?br /> nameQJNDI的名字?br /> typeQ数据源的类?br /> factoryQ指定生成的DataReource的factorycdQ默认DBCP工厂cR?br /> driverClassNameQ数据库驱动名?br /> urlQ数据库q接的URL?br /> usernameQ数据库用户名?br /> passwordQ数据库密码?br /> maxActiveQ最大连接数据库敎ͼ设ؓ(f)0表示没有限制?br /> maxIdleQ最大等待数量,设ؓ(f)0表示没有限制?br /> maxWaitQ最大等待秒敎ͼ单位为ms?br /> removeAbandonedQ是否自我中断,默认为false?br /> removeAbandonedTimeOutQ几U后?x)自我中断,removeAbandoned必须为true?br /> logAbandonedQ是否记录中断事Ӟ默认为false?/p>

2. 修改web.xml文gQ增加一个标{,输入以下代码Q?br /> <resource-ref>
     <description>Company Connection</description>
     <res-ref-name>jdbc/CompanyDB</res-ref-name>
     <res-type>javax.sql.DataSource</res-type>
     <res-auth>Container</res-auth>
</resource-ref>

res-ref-nameQ指定JNDI的名字?br /> res-typeQ指定资源类名?br /> res-authQ指定资源的Manager?br />
3. 代码中用JNDI代码q行获取Q?br /> Context ctx = new InitalContext()Q?br /> DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/CompanyDB");
Connection conn = ds.getConnection();


注意Qjava:comp/env/ 是java中JNDI固定写法?/span>


注意Q如果该配置出现错误Q采用另一U方式进行配|?/span>

在tomcat中的server.xml不进行配|,而在context.xml中进行设|?br /> 代码如下Q?br /> <Resource name="jdbc/CompanyDB" type="javax.sql.DataSource" password="root"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" maxIdle="2" maxWait="5000" username="sa" url="jdbc:sqlserver://localhost:1433;DataBaseName=Company" maxActive="100"/>


web.xml的设|同上一个配|一栗?br />

chenjinlong 2010-08-23 20:01 发表评论
]]>
关于JSP几个内置对象的用?/title><link>http://www.aygfsteel.com/chenjinlong/archive/2010/05/27/322083.html</link><dc:creator>chenjinlong</dc:creator><author>chenjinlong</author><pubDate>Thu, 27 May 2010 12:54:00 GMT</pubDate><guid>http://www.aygfsteel.com/chenjinlong/archive/2010/05/27/322083.html</guid><wfw:comment>http://www.aygfsteel.com/chenjinlong/comments/322083.html</wfw:comment><comments>http://www.aygfsteel.com/chenjinlong/archive/2010/05/27/322083.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/chenjinlong/comments/commentRss/322083.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/chenjinlong/services/trackbacks/322083.html</trackback:ping><description><![CDATA[<p>JSp的session内置对象取值方?br /> //创徏session对象<br /> HttpSession session =requst.getSession();<br /> //讄session 对象的属性?br /> session.setAttribute("属性名",?;<br /> 取?br /> Object object=session.getAttibute("属性名")<br /> 讄Ҏ(gu)<br /> //讄响应回去的类?br /> response.setContentType("text/html");<br /> //讄响应的字W编码格?br /> response.setCharacterEncoding("UTF-8");</p> <p>request(h)<br /> //获取h属性的?br /> request.getParameter("属性名");<br /> 多用于表单提交和URL参数的传递的取?/p> <p> JSp内置对象生命周期Q?br />  <br /> out 只在本jsp面使用  无生命周?br /> request  生命周期 一ơ请?<br /> response 生命周期 一ơ响?br /> session  生命周期  目览器关闭时Q生全周期结束,默认不操作项目超q?0分钟生命周期l束<br /> application 生命周期   当开启Tomcat服务器时创徏Q关闭Tomcat服务器时l束生命周期  (作用Q统计服务器讉K人数或流?<br /> </p> <p> <br /> </p> <p>面跌{:<br /> response.sendRedirect("admin/one.jsp")  重定?br /> RequestDispatcher h跌{<br /> 两者实现的效果相同<br /> 二者的区别Q?br /> 1?br /> URL 地址的变化用response.sendRedirectӞRequestDi.spatcher不会(x)使URL地址q行变化?br /> RepuestDispatcher 是服务器端请求机制的跌{<br /> response.sendRedirect 是客L(fng)h机制的重定向<br /> 2?br /> RequestDispatcher传值通过JSP-Servlet-JSp形式直接传入C一个JSp面<br /> response.sendRedirect 传值通过JSP-Servlet-JSP形式Q只能够传递到h机制重定向这之前<br /> 3?br /> 如果目要蟩转到另外一个服务器的页面时Q用response.sendRedirectq行重定?br /> 4?br /> 我们量使用RequestDispatcher方式Q因为是服务器响应,所以在web容器执行效率较高</p> <p><br /> RequestDispatcher什么时候用呢Q?br /> 目中不q行面的交互蟩转的时候,例如一个界面的增、删、改、查Q或者相兌同类型模块之间的跌{</p> <p>response.sendRedirect重定向什么时候用呢Q?br /> 无关联的不同模块间蟩转用,例如Q用L(fng)面模块蟩转到产品信息界面模块</p> <p>5?br /> RequestDispatcher基本上认定用在Servlet里面<br /> response.sendRedirect 用在Servlet和JSP面较多</p> <br /> <p>重定向传?只媄(jing)响requestQ不影响session的传?/p> <p>session何时使用?<br /> 传值时量不要使用session<br /> 购物车的实现必须使用session对象</p> <p>session.removeAttribute("name") 全部删除物品<br /> 如果选择性删除?<br /> 传入要删除的购物信息主键id|Ҏ(gu)id值支查找集合中的对应信息Q然后做集合中的删除操作<br /> for(Product product : list){</p> <p>    if(deleteid==product.getid()){<br />            list.remove(product);<br /> }<br /> }<br /> session.setAttribute("gouwu",list)</p> <br /> <br /> 两种提交方式的ؕ码处理:(x)<br /> <p>post提交方式q处理<br /> 中文q问题<br /> request.setcharacterEncoding("UTF-8");</p> <p>处理get方式提交的ؕ码方式处?br /> String names=new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8")<br /> </p> <img src ="http://www.aygfsteel.com/chenjinlong/aggbug/322083.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/chenjinlong/" target="_blank">chenjinlong</a> 2010-05-27 20:54 <a href="http://www.aygfsteel.com/chenjinlong/archive/2010/05/27/322083.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>5?日收PDAOQ?/title><link>http://www.aygfsteel.com/chenjinlong/archive/2010/05/07/320304.html</link><dc:creator>chenjinlong</dc:creator><author>chenjinlong</author><pubDate>Fri, 07 May 2010 09:48:00 GMT</pubDate><guid>http://www.aygfsteel.com/chenjinlong/archive/2010/05/07/320304.html</guid><wfw:comment>http://www.aygfsteel.com/chenjinlong/comments/320304.html</wfw:comment><comments>http://www.aygfsteel.com/chenjinlong/archive/2010/05/07/320304.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/chenjinlong/comments/commentRss/320304.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/chenjinlong/services/trackbacks/320304.html</trackback:ping><description><![CDATA[                                                                                                     DAOE序设计<br />          在用DAO设计模式~写E序ӞҎ(gu)以下几个步骤Q?br />               1、定义接口;<br />               2、定义底层JavaBeanQ?br />               3、数据库q接Q?br />               4、实现接口;<br />               5、工厂;<br />               6、主函数Q?br /> Ҏ(gu)你的目Q在不同的包里面写相应的代码Q?br />           下面是一个简单的例子Q?br />          <br /> 1、定义接口:(x)  <p>package com.qhit.s2.t13.dao;</p> <p>import java.util.List;</p> <p>import com.qhit.s2.t13.javaben.User;</p> <p>public interface IUserDAO {<br />  <br />  public List<User> findAll();</p> <p>}<br /> 2、JavaBeanQ?br /> </p> <p>package com.qhit.s2.t13.javaben;</p> <p>public class User {<br />  <br />  private Integer id;<br />  private String username;<br />  private String password;<br />  public User() {<br />   super();<br />  }<br />  public User(Integer id, String username, String password) {<br />   super();<br />   this.id = id;<br />   this.username = username;<br />   this.password = password;<br />  }<br />  public Integer getId() {<br />   return id;<br />  }<br />  public void setId(Integer id) {<br />   this.id = id;<br />  }<br />  public String getUsername() {<br />   return username;<br />  }<br />  public void setUsername(String username) {<br />   this.username = username;<br />  }<br />  public String getPassword() {<br />   return password;<br />  }<br />  public void setPassword(String password) {<br />   this.password = password;<br />  }</p> <p>}<br /> <br /> 3、数据库q接Q?/p> <p>package com.qhit.s2.t13.dao.impl;</p> <p>import java.sql.DriverManager;<br /> import java.sql.SQLException;</p> <p>public class DBConnection {<br />  <br />  private java.sql.Connection conn = null;<br />  <br /> // public final static String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";<br /> // public final static String URL = "jdbc:sqlserver://localhost:1433;DataBaseName=Company";<br /> // public final static String DBUSER = "sa";<br /> // public final static String DBPASS = "root";<br />  <br />  public java.sql.Connection getConnection() {<br />   try {<br />    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");<br />    conn = DriverManager.getConnection(<br />      "jdbc:sqlserver://localhost:1433;DataBaseName=Company",<br />      "sa", "root");<br />    return conn;<br />   } catch(Exception e) {<br />    e.printStackTrace();<br />   }<br />   return null;<br />  }<br />  <br />  <br />  public void closeConnection() {<br />   if(conn != null) {<br />    try {<br />     conn.close();<br />    } catch (SQLException e) {<br />     // TODO Auto-generated catch block<br />     e.printStackTrace();<br />    }<br />   }<br />  }</p> <p>}<br /> <br /> 4、实现接口:(x)<br /> </p> <p>package com.qhit.s2.t13.dao.impl;</p> <p>import java.sql.PreparedStatement;<br /> import java.sql.ResultSet;<br /> import java.sql.SQLException;<br /> import java.util.ArrayList;<br /> import java.util.List;</p> <p>import com.qhit.s2.t13.dao.IUserDAO;<br /> import com.qhit.s2.t13.javaben.User;</p> <p>public class UserDAOImpl implements IUserDAO {</p> <p> public List<User> findAll() {<br />   <br />   List<User> userList = new ArrayList<User>();<br />   <br />   String sql = "select * from users";<br />   DBConnection db = new DBConnection();<br />   try {<br />    <br /> //   System.out.println(db.getConnection());<br />    <br />    PreparedStatement ps = db.getConnection().prepareStatement(sql);<br />    ResultSet rs = ps.executeQuery();<br />    if(rs != null) {<br />     while(rs.next()) {<br />      User user = new User();<br />      user.setId(rs.getInt("id"));<br />      user.setUsername(rs.getString("userName"));<br />      user.setPassword(rs.getString("password"));<br />      <br />      userList.add(user);<br />     }<br />    }<br />    <br />    <br />    rs.close();<br />    ps.close();<br />    db.closeConnection();<br />    <br />    return userList;<br />    <br />    <br />   } catch (SQLException e) {<br />    // TODO Auto-generated catch block<br />    <br />    e.printStackTrace();<br />    return null;<br />   } <br />   <br />   <br />  }</p> <p>}<br /> <br /> 5、工?/p> <p>package com.qhit.s2.t13.dao.impl;</p> <p>import com.qhit.s2.t13.dao.IUserDAO;</p> <p>public class DAOFactory {<br />  <br />  public static IUserDAO getUserDAO() {<br />   return new UserDAOImpl();<br />  }</p> <p>}<br /> <br /> </p> <p>6、主函数Q?/p> <p>package main;</p> <p>import java.util.List;</p> <p>import com.qhit.s2.t13.dao.impl.DAOFactory;<br /> import com.qhit.s2.t13.javaben.User;</p> <p>public class TestMain {<br /> <br />  public static void main(String[] args) {<br />   // TODO Auto-generated method stub<br />   List<User> list = DAOFactory.getUserDAO().findAll();<br />   <br />   if(list != null) {<br />    System.out.println("chenggong");<br />   } else {<br />    System.out.println("shipai");<br />   }<br />   <br />  }</p> <p>}<br /> </p> <p><br />  </p> <p><br /> </p> <p><br />  </p> <p><br /> </p> <img src ="http://www.aygfsteel.com/chenjinlong/aggbug/320304.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/chenjinlong/" target="_blank">chenjinlong</a> 2010-05-07 17:48 <a href="http://www.aygfsteel.com/chenjinlong/archive/2010/05/07/320304.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">º</a>| <a href="http://" target="_blank">ʩ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ž</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ҧ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ӻ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ٳ</a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank">Ǩ</a>| <a href="http://" target="_blank">ͼ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Զ</a>| <a href="http://" target="_blank">˹</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">غ</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">¹</a>| <a href="http://" target="_blank">̩</a>| <a href="http://" target="_blank">Ϣ</a>| <a href="http://" target="_blank">ϲ</a>| <a href="http://" target="_blank">̫</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>