Web数据库学生实验报告JDBC部分Word文档下载推荐.docx
《Web数据库学生实验报告JDBC部分Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Web数据库学生实验报告JDBC部分Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。
![Web数据库学生实验报告JDBC部分Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-10/11/67eaafc1-043b-406e-b21c-fcc7ac39c06f/67eaafc1-043b-406e-b21c-fcc7ac39c06f1.gif)
专业
信息管理与信息系统
学号
19
实验室
607
实验名称
Jdbc应用
成绩评定
教师签名
实验目的
1、掌握数据库驱动的加载方式
2、掌握connection对象的使用方法
3、掌握statement对象使用方法
4、掌握事务的处理机制
5、掌握数据持久层的设计
实验内容
connection对象、statement对象等应用
1、请设计一个工程类通过配置文件如下db.properties来获得数据库连接的相关信息,并通过该配置文件获得数据库连接对象。
db.properties
driver=
url=jdbc\:
userName=admin
pwd=admin
publicclassconnectionFactory{
publicstaticConnectiongetConnection()throwsSQLException{
}
请把getConnection()方法补全。
要求设计合理规范,必须有截图。
答案:
privatestaticPropertiespros=newProperties();
privatestaticStringdriver;
privatestaticStringurl;
privatestaticStringuserName;
privatestaticStringpwd;
static{
InputStreamis="
db.properties"
);
try{
pros.load(is);
driver=pros.getProperty("
driver"
url=pros.getProperty("
url"
user=pros.getProperty("
userName"
pwd=pros.getProperty("
pwd"
Class.forName(driver);
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
publicstaticConnectiongetConnection()throwsSQLException{
Connectionconn=null;
conn=DriverManager.getConnection(url,user,pwd);
conn.setAutoCommit(false);
returnconn;
2、已知学生定义如下:
publicclassstudent{
privateintid;
privateStringstuId;
privateStringname;
privateStringdomCard;
//楼栋宿舍号“31-507”
privateStringbedNo;
//床铺号
publicstudent(StringstuId,Stringname,StringdomCard,StringbedNo){
super();
this.stuId=stuId;
this.name=name;
this.domCard=domCard;
this.bedNo=bedNo;
publicStringtoString(){
return"
id="
+id+"
;
学号="
+stuId+”;
姓名=”+name+”;
宿舍号=”+domCard+”;
床铺号=”+bedNo;
//相应get、set方法省略
有一
classstudentDatas{
publicstaticArrayList<
student>
students=newArrayList<
();
static{
studentstu=newstudent("
会计A001121"
"
张三"
31栋908"
1);
students.add(stu);
stu=newstudent("
会计A001166"
李四"
2);
会计A001177"
王五"
31栋807"
4);
现要求
(1)根据student类建立一个学生表用来保存student类的相关属性。
(2)通过jdbc,将studentDatas的students集合中的所有学生保持到学生表中;
publicclassStuAdd{
/**
*@paramargs
*@throwsSQLException
*/
publicstaticvoidmain(String[]args)throwsSQLException{
studentDatasstus=newstudentDatas();
Connectionconn=connectionFactory.getConnection();
PreparedStatementprStatement=null;
for(studentstu:
stus.students){
//增加
Stringsql="
insertintolianxi(学号,姓名,宿舍号,床铺号)values(?
?
)"
prStatement=conn.prepareStatement(sql);
prStatement.setString(1,stu.getStuId());
prStatement.setString(2,stu.getName());
prStatement.setString(3,stu.getDomCard());
prStatement.setString(4,stu.getBedNo());
prStatement.executeUpdate();
mit();
}
try{
conn.rollback();
}catch(SQLExceptione1){
//TODOAuto-generatedcatchblock
e1.printStackTrace();
}finally{
if(prStatement!
=null){
try{
prStatement.cancel();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
if(conn!
conn.close();
1"
);
2"
4"
(3)通过jdbc,将学生表中所有的宿舍是”31栋908”学生全部调整到“20栋371”宿舍;
publicclassStuAlter{
//TODOAuto-generatedmethodstub
//修改
Stringsql="
updatelianxiset宿舍号=?
where宿舍号=?
"
;
prStatement=conn.prepareStatement(sql);
prStatement.setString(1,"
20栋371"
prStatement.setString(2,"
prStatement.executeUpdate();
mit();