JDBC操作步骤及数据库连接操作
public static void main(String[] args) {
// TODO Auto-generated method stub
//加载驱动---告诉驱动管理器,我们要使用哪种数据库驱动
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//获取连接---传入url、用户名、密码
Connection con = null;
try {
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/j145?useSSL=true"
+ "&useUnicode=true&characterEncoding=utf8","root","1234");
//构建SQL语句的字符串形式
// String sql = "insert into t_class(f_classname,f_teacher,f_num) values('j154','刘弯弯',30)";
// String sql = "update t_class set f_school='红瓦寺校区' where f_school is null";
String sql = "delete from t_class where f_className like 'j15_'";
//获取语句对象
Statement stat = con.createStatement();
//让语句对象执行sql
int row = stat.executeUpdate(sql);//默认返回影响多少行
System.out.println(row);//一般不打印
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
//关闭连接
if(con != null) {
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//在绑定预编译语句的时候,使用常量Statement.RETURN_GENERATED_KEYS,告知要求返回自动生成的主键
PreparedStatement ps = con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
ps.setString(1, team.getTeamName());
ps.setString(2, team.getTeamNation());
ps.setString(3, team.getTeamCoach());
ps.setInt(4, team.getTeamNum());
//先执行新增动作,此时仍然返回的是影响的行数
int column = ps.executeUpdate();
//调用getGeneratedKeys(),返回一个结果集,里面是新增的主键
ResultSet rs = ps.getGeneratedKeys();
//由于新增的是一条记录,所以只有单行单列的结果集,所以不用做循环
if(rs.next()) {
int newTeamID = rs.getInt(1);
System.out.println(newTeamID);
}
1.加载数据库驱动程序:各个数据库都会提供JDBC的驱动程序开发包,直接把JDBC操作所需要的开发包(一般为*.jar或*.zip)直接配置到classpath路径即可。
2.连接数据库:根据各个数据库的不同连接的地址也不同,此连接地址将由数据库厂商提供,一般在使用JDBC连接数据库的时候都要求用户输入数据库连接的用户名和密码,用户在取得连接之后才可以对数据库进行查询或更新的操作。
3.使用语句进行数据库操作:数据库操作分为更新和查询两种操作,除了可以使用标准的SQL语句之外,对于各个数据库也可以使用其自己提供的各种命令。
4.关闭数据库连接:数据库操作完毕之后需要关闭连接以释放资源。
浙公网安备 33010602011771号