本文共 2021 字,大约阅读时间需要 6 分钟。
一、jdbc工具类的意义:
封装功能,避免书写重复率过高的代码,jdbc工具类是为了减少书写连接数据库的代码。达到代码的重复利用。
二、步骤:
1、建立一个jdbc工具包,例如for instance :jdbcutil包再建立一个jdbcutil工具类用于直接返回数据库的连接对象。
public class jdbcutils{
private jdbcutils(){}
private static Connection con;
static {
try{
Class.forName("com. mysql.jdbc.Driver");
String url="";
String username="";
String password="";
con=DriverManager.getConnection(url,password,username);
}catch(Exception ex){
throw new RuntimeException(ex+"数据库连接失败");//停下来报出异常信息。
}
}
}
/*
定义静态方法,返回数据库的连接对象。
*/
public static Connection getConnection(){
return con;
}
//写关闭方法
public static void close(Connection con ,Statement stat, ResultSet rs){
if(rs!=null){ rs.close();
}catch(SQLException ex){}
if(con!=null){
con.close();
}catch(SQLException ex){}
if(stat!=null){
stat.close();
}catch(SQLException ex){}
//在测试类中只需调用该方法传一下对象就行了。
//另外增删改查没有ResultSet()方法可以在重载一个close()方法里面有两个参数这样在测试类中就会少很多代码。
}
}
这样这个工具类就写好了,以后在连接数据库直接调用这个包里的方法就行了,没必要在重写上面内容。
2、在另一个包里建立一个测试类,类名为Testjdbcutils
public class Testjdbcutils(){
public static void main( String[] args){
//直接拿返回值数据。return con,静态方法直接静态调用
Connection con =jdbcutils.getConnection();//获取数据库连接对象,相当于建立了数据库的连接
PrepareStatement pst=con.prepareStatement(sql语句);//获取数据库语句执行者对象
ResultSet rs= pst.executeQuery();//调用查询方法,获取结果集
while(rs.next()){
system.out.print(rs.String());
}
}
三、jdbc读取数据表,每行对象封装到Sort类的对象中
很多个sort类对象,存储到List集合中
1、首先建立一个类jdbcdemo()
2、另外建一个sort类,里面的成员变量和数据库表中的成员相同。然后包含一堆set和get方法,有参构造器,和空参构造器。
public class jdbcdemo(){
public static void main( String[] args){
//直接拿返回值数据。return con,静态方法直接静态调用
Connection con =jdbcutils.getConnection();//获取数据库连接对象,相当于建立了数据库的连接
PrepareStatement pst=con.prepareStatement(sql语句);//获取数据库语句执行者对象
ResultSet rs= pst.executeQuery();//调用查询方法,获取结果集
List<Sort> list= new ArrayList<Sort>();//获取list对象while(rs.next()){
//获取每个列数据,封装到Sort对象中
Sort s =new Sort(rs.getInt(),rs.getString(),rs.getDouble());
//封装Sort对象,存储到集合中
list.add(a);
}
//在这里也可以关闭
//遍历sort类
for(Sort s :list){
System.out.print(s);
}
jdbcutils.close(connection, pst, rs);//关闭
}
}
可能括号不对,请谅解,后期会改进的 谢谢。
转载地址:https://blog.csdn.net/qq_33322074/article/details/79241965 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!