第二次java实训总结
计应3班 彭卉
1.首先建立学生管理系统项目文件,在其中建立四个子文件夹
2.再在子文件夹中添加相应文件
由于我是用的是eclipse,所以叭jar包作为库添加到项目里时的步骤为:
添加完成后会出现一个文件夹,里面有相应的文件
此时导入库创建成功
3.在文件夹中创建类、创建接口,连接数据库
在连接数据库是需注意输入正确的数据库登录密码,如果忘记可在cmd中更改密码,更改密码教程:添加链接描述
4.为试验我的代码,我建立了一个test包去测试添加、更新、查找、删除
需注意在导包的时候一定要导入正确,是在sql包下的Connection,写完代码一定要去测试运行,不然不知道是否正确。
在测试增删改查时处理部分的语句大部分都是一样的,大致为以下几个步骤:
- 创建用户实体对象
- 设置实体属性
- 获取数据库连接
- 定义SQL字符串
- 创建预备语句对象
- 设置占位符的值
- 执行SQL,返回添加的记录数
- 判断是否添加成功
查找:`package test;
/**
- 功能:查找用户记录
- 作者:彭卉
- 日期:2020年07月02日
/
import java.sql.;
import java.util.Scanner;
import net.ph.student.dbutil.*;
public class FindUserById {
public static void main(String[] args) {
int id;
Scanner sc = new Scanner(System.in);
System.out.print("输入待查用户编号:");
id = sc.nextInt();
Connection conn = null;
try {
// 获取数据库连接
conn = ConnectionManager.getConnection();
// 定义SQL语句字符串
String strSQL = "select * from t_user where id = ?";
PreparedStatement pstmt =conn.prepareStatement(strSQL);
pstmt.setInt(1,id);
// 执行SQL查询,返回结果集
ResultSet rs = pstmt.executeQuery();
if(rs.next()) {
System.out.println("编号:"+rs.getInt("id"));
System.out.println("用户名:"+rs.getString("username"));
System.out.println("密码:"+rs.getString("password"));
System.out.println("电话:"+rs.getString("telephone"));
System.out.println("注册时间:"+rs.getTimestamp("register_time"));
}else {
System.out.print("查询结果:编号为:【" +id+"】的用户不存在!");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
// 关闭数据库连接
ConnectionManager.closeConnection(conn);
}
}
}`
我在手敲这个部分还是出现了几个异常,比如:
1.进行添加记录时,需要注意数据库中的id字段是有默认值自增长的,不然会报错;
2.在执行SQL,返回添加的记录数,if判断中输出的参数类型要与创建类中的类型一致。注册时间为TimeStamp那么前面类中的注册时间也要为TimeStamp;
3.导入的包一定要正确
其中有个知识点为预备语句,格式为:
PreparedStatement pstmt =conn.prepareStatement()
本次实训总结较为粗略,没有保存到代码出错问题截图,希望吸取经验,下次将总结写的更详细一些,虽然上课老师讲的都懂,增删改查的内容相对而言还较为容易,能够理解透彻,但是感觉自己敲的时候有些部分还是离不开老师的案例,不能独立完成,有点迷茫。课余还需要再看一看代码,懂得每一部分的作用,加上注释。