吴裕雄--天生自然JAVA数据库编程:JDBC2.0操作

import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.SQLException ;
import java.sql.PreparedStatement ;
public class JDBC20BatchDemo{
    // 定义MySQL的数据库驱动程序
    public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
    // 定义MySQL数据库的连接地址
    public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;
    // MySQL数据库的连接用户名
    public static final String DBUSER = "root" ;
    // MySQL数据库的连接密码
    public static final String DBPASS = "mysqladmin" ;
    public static void main(String args[]) throws Exception{    // 所有异常抛出
        Connection conn = null ;        // 数据库连接
        PreparedStatement pstmt = null ;
        String sql = "INSERT INTO user(name,password,age,sex,birthday) VALUES (?,?,?,?,?)" ;// 此处不需要设置任何的内容
        Class.forName(DBDRIVER) ;    // 加载驱动程序
        conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
        pstmt = conn.prepareStatement(sql) ;    // 表示结果集可以更新
        for(int i=0;i<10;i++){
            pstmt.setString(1,"李兴华 - " + i) ;
            pstmt.setString(2,"MLDN - " + i) ;
            pstmt.setInt(3,20 + i) ;
            pstmt.setString(4,"男")  ;
            pstmt.setDate(5,new java.sql.Date(new java.util.Date().getTime())) ;
            pstmt.addBatch() ;    // 加入批处理,等待执行
        }
        int temp[] = pstmt.executeBatch() ;
        System.out.println("更新了" + temp.length + "条数据。") ;
        pstmt.close() ;
        conn.close() ;            // 数据库关闭
    }
};
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.SQLException ;
import java.sql.PreparedStatement ;
import java.sql.ResultSet ;
public class JDBC20DeleteDemo{
    // 定义MySQL的数据库驱动程序
    public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
    // 定义MySQL数据库的连接地址
    public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;
    // MySQL数据库的连接用户名
    public static final String DBUSER = "root" ;
    // MySQL数据库的连接密码
    public static final String DBPASS = "mysqladmin" ;
    public static void main(String args[]) throws Exception{    // 所有异常抛出
        Connection conn = null ;        // 数据库连接
        PreparedStatement pstmt = null ;
        ResultSet rs = null ;
        String sql = "SELECT id,name,password,age,sex,birthday FROM user WHERE id=?" ;// 此处不需要设置任何的内容
        Class.forName(DBDRIVER) ;    // 加载驱动程序
        conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
        pstmt = conn.prepareStatement(sql,
            ResultSet.TYPE_SCROLL_SENSITIVE,
            ResultSet.CONCUR_UPDATABLE) ;    // 表示结果集可以更新
        pstmt.setInt(1,2) ;
        rs = pstmt.executeQuery() ;    // 查询操作
        rs.last() ;    // 到最后一行

        rs.deleteRow() ;    // 真正提交数据
        rs.close() ;
        pstmt.close() ;
        conn.close() ;            // 数据库关闭
    }
};
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.SQLException ;
import java.sql.PreparedStatement ;
import java.sql.ResultSet ;
public class JDBC20InsertDemo{
    // 定义MySQL的数据库驱动程序
    public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
    // 定义MySQL数据库的连接地址
    public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;
    // MySQL数据库的连接用户名
    public static final String DBUSER = "root" ;
    // MySQL数据库的连接密码
    public static final String DBPASS = "mysqladmin" ;
    public static void main(String args[]) throws Exception{    // 所有异常抛出
        Connection conn = null ;        // 数据库连接
        PreparedStatement pstmt = null ;
        ResultSet rs = null ;
        String sql = "SELECT id,name,password,age,sex,birthday FROM user" ;// 此处不需要设置任何的内容
        Class.forName(DBDRIVER) ;    // 加载驱动程序
        conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
        pstmt = conn.prepareStatement(sql,
            ResultSet.TYPE_SCROLL_SENSITIVE,
            ResultSet.CONCUR_UPDATABLE) ;    // 表示结果集可以更新
        rs = pstmt.executeQuery() ;    // 查询操作
        rs.moveToInsertRow() ;    // 移动到插入的一行
        rs.updateString("name","李华") ;    // 设置姓名
        rs.updateString("password","lixinghua") ;    // 设置密码
        rs.updateInt("age",33) ;    // 设置要插入的年龄
        rs.updateString("sex","女") ;    // 设置要插入的性别
        rs.updateDate("birthday",new java.sql.Date(new java.util.Date().getTime()));
        rs.insertRow() ;    // 真正提交数据
        rs.close() ;
        pstmt.close() ;
        conn.close() ;            // 数据库关闭
    }
};
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.SQLException ;
import java.sql.PreparedStatement ;
import java.sql.ResultSet ;
public class JDBC20ReadDemo{
    // 定义MySQL的数据库驱动程序
    public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
    // 定义MySQL数据库的连接地址
    public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;
    // MySQL数据库的连接用户名
    public static final String DBUSER = "root" ;
    // MySQL数据库的连接密码
    public static final String DBPASS = "mysqladmin" ;
    public static void main(String args[]) throws Exception{    // 所有异常抛出
        Connection conn = null ;        // 数据库连接
        PreparedStatement pstmt = null ;
        ResultSet rs = null ;
        String sql = "SELECT id,name,password,age,sex,birthday FROM user" ;// 此处不需要设置任何的内容
        Class.forName(DBDRIVER) ;    // 加载驱动程序
        conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
        pstmt = conn.prepareStatement(sql,
            ResultSet.TYPE_SCROLL_SENSITIVE,
            ResultSet.CONCUR_READ_ONLY) ;
        rs = pstmt.executeQuery() ;    // 查询操作
        System.out.println("第2条数据:") ;
        rs.absolute(1) ;    // 第二条数据
        print(rs,1) ;
        System.out.println("第1条数据:") ;
        rs.beforeFirst() ;
        print(rs,1) ;
        System.out.println("第4条数据:") ;
        rs.afterLast() ;// 最后一条数据之后
        print(rs,-1) ;
        rs.close() ;
        pstmt.close() ;
        conn.close() ;            // 数据库关闭
    }
    public static void print(ResultSet rs,int re) throws Exception{
        if(re>0){
            rs.next() ;        // 由前向后
        }else{
            rs.previous() ;    // 由后向前
        }
        int id = rs.getInt(1) ;
        String name = rs.getString(2) ;
        String pass = rs.getString(3) ;
        int age = rs.getInt(4) ;
        String sex = rs.getString(5) ;
        java.util.Date d = rs.getDate(6) ;
        System.out.print("编号:" + id + ";") ;
        System.out.print("姓名:" + name + ";") ;
        System.out.print("密码:" + pass + ";") ;
        System.out.print("年龄:" + age + ";") ;
        System.out.print("性别:" + sex + ";") ;
        System.out.println("生日:" + d + ";") ;
        System.out.println("----------------------------") ;
    }
};
import java.sql.Connection ;
import java.sql.DriverManager ;
import java.sql.SQLException ;
import java.sql.PreparedStatement ;
import java.sql.ResultSet ;
public class JDBC20UpdateDemo{
    // 定义MySQL的数据库驱动程序
    public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
    // 定义MySQL数据库的连接地址
    public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;
    // MySQL数据库的连接用户名
    public static final String DBUSER = "root" ;
    // MySQL数据库的连接密码
    public static final String DBPASS = "mysqladmin" ;
    public static void main(String args[]) throws Exception{    // 所有异常抛出
        Connection conn = null ;        // 数据库连接
        PreparedStatement pstmt = null ;
        ResultSet rs = null ;
        String sql = "SELECT id,name,password,age,sex,birthday FROM user WHERE id=?" ;// 此处不需要设置任何的内容
        Class.forName(DBDRIVER) ;    // 加载驱动程序
        conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
        pstmt = conn.prepareStatement(sql,
            ResultSet.TYPE_SCROLL_SENSITIVE,
            ResultSet.CONCUR_UPDATABLE) ;    // 表示结果集可以更新
        pstmt.setInt(1,4) ;
        rs = pstmt.executeQuery() ;    // 查询操作
        rs.last() ;    // 到最后一行

        rs.updateString("name","李藏") ;    // 设置姓名
        rs.updateString("password","lizang") ;    // 设置密码
        rs.updateInt("age",23) ;    // 设置要插入的年龄
        rs.updateString("sex","女") ;    // 设置要插入的性别
        rs.updateDate("birthday",new java.sql.Date(new java.util.Date().getTime()));
        rs.cancelRowUpdates() ;    // 取消更新
        rs.updateRow() ;    // 真正提交数据
        rs.close() ;
        pstmt.close() ;
        conn.close() ;            // 数据库关闭
    }
};
原文地址:https://www.cnblogs.com/tszr/p/12158907.html