java 学习原生jdbc

public class App 
{
    public static void main( String[] args )
    {
        //JDBC驱动
        String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
        String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=model";
        String userName = "sa";////用户名
        String userPwd = "sa123456";////密码
        Connection dbConn;
        try{
            //加载MsSql的驱动类
            Class.forName(driverName) ;
        }catch(ClassNotFoundException e){
            System.out.println("找不到驱动程序类 ,加载驱动失败!");
            e.printStackTrace() ;
            return;
        }
        //创建数据库连接
        try
        {
            dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
            System.out.println("数据库连接成功!");   //如果连接成功 控制台输出Connection Successful!
            //创建Statement
            //Statement实例分为以下3        种类型:
            //1、执行静态SQL语句。通常通过Statement实例实现。
            //2、执行动态SQL语句。通常通过PreparedStatement实例实现。
            //3、执行数据库存储过程。通常通过CallableStatement实例实现。
            Statement statement=dbConn.createStatement();
            ResultSet rs=statement.executeQuery("select * from [user]");
            while(rs.next()){
                String name = rs.getString("UserName") ;
                int id = rs.getInt(1) ; // 列索引,从1开始,此方法比较高效
            }

            PreparedStatement preparedStatement=dbConn.prepareStatement("select * from [user] where UserName = ? ");
            preparedStatement.setString( 1 ,"Aven");
            //Statement接口提供了三种执行SQL语句的方法:
            // executeQuery  查询
            // executeUpdate 修改
            //execute        执行
            rs=preparedStatement.executeQuery();
            while(rs.next()){
                String name = rs.getString("UserName") ;
                int id = rs.getInt(1) ; // 列索引,从1开始,此方法比较高效
            }
            //修改表记录
            preparedStatement = dbConn.prepareStatement("UPDATE [user] SET UserName = ? WHERE UserId=  ? ");
            //可以把?替换成变量
            //当然也可以直接用 "UPDATE [user] SET UserName = '"+username+"' WHERE UserId=  "+Integer.toString(userId)
            preparedStatement.setString(1, "Chen");
            preparedStatement.setInt(2, 1);

            preparedStatement.executeUpdate();


            if(rs != null){   // 关闭记录集
                try{
                    rs.close() ;
                }catch(SQLException e){
                    e.printStackTrace() ;
                }
            }
            if(preparedStatement != null){   // 关闭声明
                try{
                    preparedStatement.close() ;
                }catch(SQLException e){
                    e.printStackTrace() ;
                }
            }
            if(dbConn != null){  // 关闭连接对象
                try{
                    dbConn.close() ;
                }catch(SQLException e){
                    e.printStackTrace() ;
                }
            }
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
        }
   }
}

 

posted @ 2017-03-31 14:27  zslm___  阅读(329)  评论(0编辑  收藏  举报