JDBC
时间:2021-07-01 10:21:17
帮助过:17人阅读
class Jdbc {
//获取数据库连接对象
private Connection getConnection(){
Connection connection=
null;
try {
//加载数据库驱动
Class.forName("com.mysql.jdbc.Driver"
);
//数据库连接地址
String URL="jdbc:mysql://localhost:3306/test"
;
//用户名
String user="root"
;
//用户密码
String password="root"
;
//登录数据库的动作传入参数,获取数据库连接对象
connection=
DriverManager.getConnection(URL, user, password);
System.out.println("数据库连接成功"
);
} catch (Exception e) {
//数据库连接异常,打印日志
Logger.getLogger(Jdbc.
class.getCanonicalName()).log(Level.SEVERE,"数据库连接失败"
,e);
}
return connection;
}
public PC getPc(Long id){
Connection connection=
getConnection();
//获取SQL执行对象
PreparedStatement ps=
null;
//获取执行对象
ResultSet rs=
null;
try {
//得到SQL 执行对象,并执行sql语句
ps=connection.prepareStatement("select id,MAC,CPU,RAM from pc where id=?"
);
//setLong(1,id); 用id替代SQL的第一个占位符(?)
ps.setLong(1
, id);
//获取执行结果集
rs=
ps.executeQuery();
//判断结果集rs是否有记录,并且将指针后移一位
while(rs.next()){
Long roleId=rs.getLong("id"
);
//获取结果集中的值
String mac=rs.getString("MAC"
);
String cpu=rs.getString("CPU"
);
String ram=rs.getString("RAM"
);
PC pc=
new PC();
pc.setId(roleId);
pc.setCpu(cpu);
pc.setMac(mac);
pc.setRam(ram);
return pc;
}
} catch (SQLException e) {
Logger.getLogger(Jdbc.class.getName()).log(Level.SEVERE,"空指针异常"
, e);
}finally{
//关闭结果集 、执行对象、connection 关闭数据库相关资源
this.close(rs, ps, connection);
}
return null;
}
//封装关闭数据库资源的方法
private void close(ResultSet rs,PreparedStatement ps,Connection connection){
try {
if(rs!=
null&&!
rs.isClosed()){
rs.close();
}
if(ps!=
null&&!
ps.isClosed()){
ps.close();
}
if(connection!=
null&&!
connection.isClosed()){
connection.isClosed();
}
} catch (SQLException e) {
Logger.getLogger(Jdbc.class.getName()).log(Level.SEVERE,
null, e);
}
}
public static void main(String args[]){
//实例化 Jdbc
Jdbc jdbc=
new Jdbc();
//调用Jdbc中的方法,并传入参数,此参数为id的值
PC pc=jdbc.getPc(1L
);
System.out.println("mac="+
pc.getMac());
}
}
用JDBC有以下几步:
1、连接数据库,注册驱动和数据库信息。
2、获取Statement执行SQL语句的对象。
3、将执行过后的结果集返回给ResultSet对象。
4、使用ResultSet对象将具体的代码转化成具体的实体类对象。
5、关闭相关的资源。
JDBC
标签:执行 sel 替代 成功 .exe res logger 实例 logs