实验七Java之Jdbc说课讲解.docx
- 文档编号:4140370
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:10
- 大小:17.13KB
实验七Java之Jdbc说课讲解.docx
《实验七Java之Jdbc说课讲解.docx》由会员分享,可在线阅读,更多相关《实验七Java之Jdbc说课讲解.docx(10页珍藏版)》请在冰豆网上搜索。
实验七Java之Jdbc说课讲解
实验七Java之Jdbc
实验七Jdbc编程
1.实验目的
(1)掌握通过JDBC方式操作数据库的基本步骤。
(2)掌握增、删、改、查记录等的方法。
(3)掌握查询记录以及遍历查询结果的方法。
2.实验内容
实验题1学生信息管理。
创建student表,包含学生的学号、姓名、年龄信息。
①根据学号,可以查询到学生的姓名和年龄;
②给定学生的学号、姓名、年龄,在表中追加一行信息;
③给定学生的学号,可以从表中删除该学生的信息;
[基本要求]对上面的每一个功能编写相应的函数,并测试。
1.创建Student表
package.jp.text;
importjava.util.Scanner;
import.jp.data.ConnectionBean;
import.jp.data.ConnectionWay;
publicclasstext{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
ConnectionBeancb=newConnectionBean();//加载驱动
ConnectionWaycw=newConnectionWay();
Scannerscan=newScanner(System.in);
Stringnumber=null;
Stringname=null;
Stringage=null;
//调用方法测试:
number=scan.next();
name=scan.next();
age=scan.next();
cw.numberQuery(number);
cw.insert("2019",name,age);
cw.delete(number);
//关闭连接:
cw.free();
}
2.增删改查
}
package.jp.data;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;
publicclassConnectionWay{
Connectionconn=ConnectionBean.getConnection();//连接
PreparedStatementpst=null;
ResultSetrs=null;
publicvoidnumberQuery(Stringnumber){
Stringsql="selectSname,SagefromSwherenumber=?
";
try{
pst=conn.prepareStatement(sql);
pst.setString(1,number);
rs=pst.executeQuery();
while(rs.next()){
System.out.println(rs.getString("Sname")+""+rs.getString("Sage"));
}
}catch(SQLExceptione1){
//TODOAuto-generatedcatchblock
e1.printStackTrace();
}
}
publicvoidinsert(Stringnumber,StringSname,StringSage){
intcol=0;
Stringsql="insertintoSvalues(?
?
?
)";
try{
pst=conn.prepareStatement(sql);
pst.setString(1,number);
pst.setString(2,Sname);
pst.setString(3,Sage);
col=pst.executeUpdate();
if(col==1){
System.out.println("插入数据成功!
");
}
}catch(SQLExceptione1){
//TODOAuto-generatedcatchblock
e1.printStackTrace();
}
}
publicvoiddelete(Stringnumber){
intcol=0;
Stringsql="deletefromSwherenumber=?
";
try{
pst=conn.prepareStatement(sql);
pst.setString(1,number);
col=pst.executeUpdate();
if(col!
=0)
System.out.println("删除成功!
");
}catch(SQLExceptione1){
//TODOAuto-generatedcatchblock
e1.printStackTrace();
}
}
publicvoidfree(){
ConnectionBean.free(rs,pst,conn);
}
}
3.遍历
package.jp.data;
importjava.sql.PreparedStatement;
importjava.sql.Statement;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
publicclassConnectionBean{
privatestaticStringurl="jdbc:
mysql:
//localhost:
3306/Student";
privatestaticStringuser="root";
privatestaticStringpassWord="";
static{
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(ClassNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
publicstaticConnectiongetConnection(){
Connectionconn=null;
try{
conn=(Connection)DriverManager
.getConnection(url,user,null/*,passWord*/);
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnconn;
}
publicstaticvoidfree(ResultSetrs,Statementst,Connectionconn){
try{
rs.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
try{
st.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
try{
conn.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
}
}
实验题2Jdbc编程。
在MySql数据库的test库中,建一个表student,其内容如下表所示,将表中score大于60的记录的信息输出到控制台。
学生信息表
Id
Name
Gender
Score
1002
Tom
male
80
1003
Mary
female
89
1004
Peter
male
54
1005
John
male
76
1006
polo
female
90
package.jp.text;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;
import.jp.ConnectionBean;
publicclasstext{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
Connectionconn=null;
PreparedStatementpst=null;
ResultSetrs=null;
conn=ConnectionBean.getConnection();
try{
floatscore=0f;
pst=conn.prepareStatement("select*fromstudent");
rs=pst.executeQuery();
while(rs.next()){
score=rs.getFloat("Score");
if(score>60){
System.out.println(rs.getObject
(1)+","+rs.getObject
(2)
+","+rs.getObject(3)+","+rs.getObject(4));
}
}
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
ConnectionBean.free(rs,pst,conn);
}
}
package.jp;
importjava.sql.PreparedStatement;
importjava.sql.Statement;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
publicclassConnectionBean{
privatestaticStringurl="jdbc:
mysql:
//localhost:
3306/student";
privatestaticStringuser="root";
privatestaticStringpassWord=null;
static{
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(ClassNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
publicstaticConnectiongetConnection(){
Connectionconn=null;
try{
conn=(Connection)DriverManager
.getConnection(url,user,passWord);
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnconn;
}
publicstaticvoidfree(ResultSetrs,Statementst,Connectionconn){
try{
rs.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
try{
st.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}finally{
try{
conn.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
}
}
*实验题3(选作题)熟悉课堂内容,学习掌握数据库访问编程实现的程序结构。
(1)设计一个与连接数据库相关接口UserDao(访问数据库——增、删、改、查——DAO(DataAccessObject,数据访问对象),一般针对不同的数据库表采用不同的DAO功能实现类。
)
(2)设计持久实体类(PO)——封装装数据库表中的各个字段
(3)设计一个类,实现UserDao接口,完成访问数据库的相关操作(增、删、改、查);
(4)设计一个类,测试UserDao的实现类。
(5)修改daoconfig.properties文件,切换UserDao的实现。
4.实验总结
本次实验练习了JAVA数据库的连接及应用.先建立连接,加载驱动,然后添加记录,创建表格.接下来练习了数据库的增删改查。
熟悉过基本操作后,学习了查询记录以及遍历查询结果的方法。
通过这次实验,加深了自己对数据库的理解。
但自己操作过于生疏,需要多加练习。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 Java Jdbc 讲解