第21章学生信息管理——三层结构数据库编程.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:83 大小:1.6MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

第21章学生信息管理——三层结构数据库编程.ppt

第21章学生信息管理——三层结构数据库编程.ppt

预览

免费试读已结束,剩余 73 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第21章学生信息管理——三层结构数据库编程能力目标:能使用JDBC建立数据库连接,能编写Java代码连接数据库。能编写添加、修改、删除数据库记录的程序代码。理解表示层、业务逻辑层、数据层,理解三层结构的应用程序。能编写三层结构的学生信息管理应用程序,并能打包发布。内容介绍21.1任务预览21.2建立数据库21.2.1在DBMS上建立数据库21.2.2运行SQL脚本建立数据库USEStudbCREATETABLEStus(Numchar(8)PRIMARYKEY,Namenvarchar(4)NOTNULL,Sexnchar(1)NOTNULL,Specialtynvarchar(7)NULL,YearintNULL,CHECK(Sex='男'orSex='女'),CHECK((Year>=2000andYear<=2020)orYear=0),)GOinsertintoStus(Num,Name,Sex,Specialty,Year)values('12010001','赵益','男','软件技术',2012)insertintoStus(Num,Name,Sex,Specialty,Year)values('12010002','钱珥','女','软件技术',2012)insertintoStus(Num,Name,Sex,Specialty,Year)values('12010003','孙散','男','软件技术',2012)insertintoStus(Num,Name,Sex)values('12010004','李四','男')GO用记事本把脚本代码录入电脑,存盘为createstudb.sql。设计算机已安装速成版SQLServer2005,打开命令行窗口,进入脚本文件目录。执行下面命令生成学生数据库Studb.mdf:sqlcmd-S.\SQLExpress-E-icreatestudb.sql21.3连接数据库JDBC简介JDBC简介使用JDBC/ODBC桥接驱动程序java.sql包类或接口名称使用JDBCAPI进行数据库操作步骤5.执行语句:对SELECT语句来说,使用executeQuery方法执行,返回结果是ResultSet类型的结果集:对INSERT、UPDATE、DELETE语句来说,使用executeUpdate方法执行,返回结果是影响的行数。6.处理结果:对返回的结果集或影响行数进行处理,可以进行显示、判断等操作。7.关闭资源:与各种对象创建的顺序相反,依次关闭ResultSet、Statement、Connection对象。访问数据库访问数据库访问数据库访问数据库访问数据库21.3.3通过数据源建立数据库连接21.3.4Connection连接(3)PreparedStatementprepareStatement(Stringsql):创建预编译语句(对象)。(4)PreparedStatementprepareStatement(Stringsql,intresultSetType,intresultSetConcurrency)。(5)voidclose():关闭连接,释放资源。(6)voidsetAutoCommit(booleanautoCommit):设置连接对象是否自动提交。(6)voidcommit():提交事务,实现数据更改。(7)voidrollback():回滚事务。注:默认连接对象自动提交,执行每个语句都会自动提交更改。如果禁用自动提交,那么要提交更改就必须显式调用commit方法。21.4访问数据库【例21-2】编写读取学生数据库Studb所有记录的Java程序。21.4.2Statement语句21.4.3PreparedStatement预编译SQL语句(4)voidsetString(intparameterIndex,Stringx):将SQL语句中指定索引处的参数设置为String类型的x值。SQL语句参数用“?”表示,索引从1开始。如带4个?参数:sql="updateStussetName=?,Sex=?,Year=?whereNum=?";prpstmt=conn.prepareStatement(sql);//创建预编译语句prpstmt.setString(1,"郑丽");//设置第1个参数值prpstmt.setString(2,"女");prpstmt.setInt(3,2011);prpstmt.setString(4,"11010001");prpstmt.executeUpdate();(5)voidsetInt(intparameterIndex,intx):