浅析一个简单的JDBC例子
创始人
2024-04-15 02:21:39
0

JDBC例子1,首先在配置文件(system.properties)中配置上如下内容:

  1. driver=com.microsoft.sqlserver.jdbc.SQLServerDriver  
  2. url=jdbc:sqlserver://localhost:1433;databaseName=mp  
  3. username=sa  
  4. password=mengya 

JDBC例子2,写了个SQLDB的工具类

  1. publicclassSQLDBConnection{  
  2. privateInputStreaminputstr;  
  3. privatePropertiespro;  
  4. privatestaticSQLDBConnectionsqldb=null;
  5. //私有构造方法

    privateSQLDBConnection(){

    inputstr=this.getClass().getResourceAsStream("/system.properties");

    pro=newProperties();

    try{

    pro.load(inputstr);

    }catch(IOExceptione){

    e.printStackTrace();

    }

    try{

    Class.forName(pro.getProperty("driver"));//注册驱动,只注册一次

    }catch(ClassNotFoundExceptione){

    e.printStackTrace();

    }

    }

    //单例模式

    publicstaticSQLDBConnectiongetSQLDBConnection(){

    if(sqldb==null){

    synchronized(SQLDBConnection.class){

    if(sqldb==null){

    sqldb=newSQLDBConnection();

    }

    }

    }

    returnsqldb;

    }

    //得到与数据库的连接

    publicConnectionGetConnection(){

    Connectionconn=null;

    try{

    conn=DriverManager.getConnection(pro.getProperty("url"),pro.getProperty("username"),pro.getProperty("password"));

    }catch(SQLExceptione){

    e.printStackTrace();

    }

    returnconn;

    }

JDBC例子3,写好Studao的接口

  1. //释放资源  
  2. publicstaticvoidfree(ResultSetrs,Statementsta,Connectionconn){  
  3. try{  
  4. if(rs!=null){  
  5. rs.close();  
  6. }  
  7. }catch(Exceptione){  
  8. e.printStackTrace();  
  9. }finally{  
  10. try{  
  11. if(sta!=null){  
  12. sta.close();  
  13. }  
  14. }catch(Exceptione){  
  15. e.printStackTrace();  
  16. }finally{  
  17. if(conn!=null){  
  18. try{  
  19. conn.close();  
  20. }catch(SQLExceptione){  
  21. e.printStackTrace();  
  22. }  
  23. }  
  24. }  
  25. }  
  26. }  
  27. publicinterfaceStudaointer{  
  28. publicvoidaddStu(Stustu);  
  29. publicvoiddelStu(intsid);  
  30. publicvoidupdStu(Stustu);  
  31. publicStugetOneStu(intsid);  
  32. publicListgetAllStu();  

JDBC例子4,写好自己定义的RuntimeException

  1. publicclassMySQLExceptionextendsRuntimeException{  
  2. privatestaticfinallongserialVersionUID=1L;  

JDBC例子5,写好Studao的实现类

  1. publicclassStuDAOImpleimplementsStudaointer{  
  2. privateConnectionconn;  
  3. privatePreparedStatementpre;  
  4. privateResultSetrs;  
  5. publicvoidaddStu(Stustu){  
  6. Stringsql="insertintostuvalues(?,?,?)";  
  7. conn=SQLDBConnection.getSQLDBConnection().GetConnection();  
  8. try{  
  9. pre=conn.prepareStatement(sql);  
  10. pre.setString(1,stu.getSname());  
  11. pre.setString(2,stu.getSsex());  
  12. pre.setDate(3,newjava.sql.Date(stu.getSbrith().getTime()));  
  13. pre.executeUpdate();  
  14. }catch(SQLExceptione){  
  15. e.printStackTrace();  
  16. thrownewMySQLException();//异常向上抛  
  17. }finally{  
  18. SQLDBConnection.free(rs,pre,conn);  
  19. }  
  20. }  
  21. publicvoiddelStu(intsid){  
  22. Stringsql="deletestuwheres_id=?";  
  23. conn=SQLDBConnection.getSQLDBConnection().GetConnection();  
  24. try{  
  25. pre=conn.prepareStatement(sql);  
  26. pre.setInt(1,sid);  
  27. pre.executeUpdate();  
  28. }catch(SQLExceptione){  
  29. e.printStackTrace();  
  30. thrownewMySQLException();  
  31. }finally{  
  32. SQLDBConnection.free(rs,pre,conn); 

【编辑推荐】

  1. 使用JDBC的五个精华功能
  2. Tomcat5+MySQL JDBC连接池配置
  3. 在Weblogic中实现JDBC的功能
  4. 详解JDBC与Hibernate区别
  5. JDBC连接MySQL数据库关键四步
  6. 详解JDBC驱动的四种类型

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...