日期:2014-05-16  浏览次数:20467 次

JDBC编程及事务的实现
JDBC的介绍:
      JDBC是连接数据库与java程序的桥梁。由java编写的类和接口组成。
       JDBC 能够连接 Oracle,MySQL,DB2,SQL Server 等.


JDBC 连接MySQL数据库:
       首先,现在Eclipse上添加驱动,即添加mysql-connector-java-版本号-bin.jar文件。若没有添加,则会报 java.lang.ClassOntFoundException 错误。
       然后在类里实现连接的语句:
              //首先创建一个连接对象;
               public static Connection conn;
              //注册驱动;
                Class.forName("com.mysql.jdbc.Driver");
   //创建连接;
     String url = "jdbc:mysql://localhost:3306/lesson1";
    String user = "root";
    String psw = "*****";
   //得到连接对象;
     conn = DriverManager.getConnection(url, user, psw);


JDBC中实现对数据库的查询与插入等操作:
      1.查询操作需要返回一个结果集ResultSet
       首先,由Connection对象得到一个Statement对象,然后由Statement得到结果集ResultSet。然后从结果集ResultSet中得到数据库中的数据;
        实现代码如下:
                    //得到Statement对象;
                     Statement st = conn.createStatement();
                 //要写如的sql语言,例如:;
String sql = "select * from userInfo";
        //得到结果集;
                  ResultSet rs = st.executeQuery(sql);
                 //当结果集不为空是,rs.next()返回true
        while(rs.next()){
                  }
      2.插入,更新 等操作不需要返回结果集,但经常需要从程序中获取不同的值 进行插
        入,所以应采用预编译。
          实现代码如下:
                    //要执行的Sql语句;
                    String sql = "insert into userInfo
                           (username,userclass)values(?,?);";
        //得到预编译的对象;
                  PreparedStatement pst = conn.prepareStatement(sql);
                 //可以发现sql语句中有问号?,每一个问号其实是占了一个位置,
                      代表了要插入的值。问号的位置是由 1 开始,不是0.
                   下面是指定“?”所代表的值。
pst.setString(1, username);
pst.setString(2, userclass);
        //预编译对象执行更新操作;
pst.executeUpdate();
        &n