jdbc的工具类:
要使用JDBC来操作数据库
API:java.sql包中的接口与类
JDBC:用来来接数据库并对数据操作的一种技术
Mysql的驱动程序:mysql-connector-java-5.1.38.jar
需要从https://mvnrepository.com下载
驱动下载完成后需要引用到项目中
jdbc的操作流程:
1.加载驱动
2.获取连接Connection
3.获取到Statement对象用于执行静态的SQL语句
4.执行查询返回一个结果集ResultSet并对结果集遍历以对象的方式保存到集合中
-
5.关闭资源 ResultSet Statement Connection
public class DBUtils {public static void main(String[] args) {
*1.加载驱动程序
try {- Class.forName("com.mysql.jdbc.Driver");
*2.获取连接
*Connection connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/demo06_db?useUnicode=true&characterEncoding=utf8&autoReconnect=true","root","LZB25800");
*3.获取到Statement对象:用于向数据库发送sql语句,执行DML(insert update delete)或select
- Class.forName("com.mysql.jdbc.Driver");
Statement statement=connection.createStatement();
int isRigth= statement.executeUpdate("insert into admin(username,password) values('fun','22222')");
int isRigth1=statement.executeUpdate(" delete from admin where id=1");
System.out.println(isRigth1); ResultSet rs=statement.executeQuery("select * from admin");
-
List<Admin> list=new ArrayList<>(); while(rs.next()){ int id=rs.getInt("id");//获取某一行的第一列 String username=rs.getString("username");//获取某一行的第二列 String password=rs.getString("password");//获取某一行的第三列 *将数据封装到Admin中 Admin admin=new Admin(); admin.setId(id); admin.setUsername(username); admin.setPossword(password); *将对象保存到集合中 list.add(admin); System.out.println(id+"--"+username+"--"+password); }
*4.关闭资源
- rs.close();
- statement.close();
- connection.close();
} catch (ClassNotFoundException e) { - TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) { - TODO Auto-generated catch block
e.printStackTrace();
}
}
}
JDBC的优点:
直接底层操作,提供了很简单、便捷的访问数据库的方法,跨平台
性比较强。灵活性比较强,可以写很复杂的SQL语句。
JDBC的缺点:
因为JAVA是面向对象的,JDBC没有做到使数据能够面向对象的编程,使程序员的思考仍停留在SQL语句上。
操作比较繁琐,很多代码需要重复写很多次。
如果遇到批量操作,频繁与数据库进行交互,容易造成效率的下降。