浅析一个简单的JDBC例子

开发 后端
这里将为大家简单介绍一个JDBC例子,通过实际代码,希望能为大家了解提供帮助。JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。

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驱动的四种类型
责任编辑:彭凡 来源: javaeye
相关推荐

2009-07-21 14:55:30

2010-04-19 17:21:36

Oracle写文件

2020-03-26 17:00:53

HashMapputJava

2009-07-15 13:41:00

JDBC实例

2009-09-11 09:10:30

C#编写游戏

2011-08-02 12:46:46

Oracle数据表建立索引

2009-09-14 17:08:02

WebFormView

2011-05-06 14:19:29

ExcelSQL Server

2011-03-24 09:34:41

SPRING

2020-10-26 13:12:00

多线程调度随机性

2022-10-19 11:31:49

TDD开发

2009-06-19 17:14:47

JDBC驱动设置

2009-06-19 15:08:23

JDBC驱动

2009-08-26 15:53:42

C#数据访问XML

2018-11-22 14:09:45

iOS架构组件开发

2009-08-19 04:14:00

线性链表

2023-02-07 10:40:30

gRPC系统Mac

2020-11-09 06:38:00

ninja构建方式构建系统

2009-07-17 17:07:17

JDBC教程

2021-05-13 07:58:05

JDBC接口PreparedSta
点赞
收藏

51CTO技术栈公众号