JDBC
什么是JDBC
Java DataBase Connectivity: Java数据库连接,实际上JDBC是java中一套和数据库进行交互的api(application program interface)应用程序编程接口
为什么使用JDBC
因为Java程序员可能有需求连接各种数据库(Oracle,mysql,db2等),为了避免java程序员每一种数据库都学习一套新的api,sun公司提出了一个叫JDBC的接口,各个数据库厂商根据这个接口去写实现类(驱动),这样的话java程序员只需要掌握JDBC接口的调用就可以操作任意数据库.
如何使用JDBC
- 创建Maven工程
- 下载mysql相关jar包 登录达内maven私服 maven.tedu.cn
- 创建一个JDBCHelloworld
- 写代码: //1. 注册驱动 Class.forName("com.mysql.jdbc.Driver"); //2.获取连接对象 Connection conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/db6", "root", "root");//你们没有后面的root //3.创建sql执行对象 Statement stat = conn.createStatement(); //4.准备sql String sql = "select count(*) from item2"; //5.执行sql boolean b = stat.execute(sql); if (b) {//返回值true代表有结果集//false没有 System.out.println("有结果集"); }else{ System.out.println("没有结果集"); }
执行sql语句的方法
execute
此方法可以执行任意sql,返回值true代表有结果集(查询语句时会有结果集),false为没有结果集.通常情况下execute方法用于执行DDL(数据定义语言)
executeUpdate
此方法执行增删改操作,返回值代表生效的行数
executeQuery
此方法执行查询操作,返回值为ResultSet,里面保存查询到的所有结果
ResultSet对象
此对象里面装着查询到的结果数据
见到ResultSet就用while遍历
next() 方法会先判断是否有下一条数据,有返回true,没有返回false,如果返回true内部游标会往下移动
从ResultSet对象中获取数据
- 通过字段的名称获取数据
- 通过字段的位置获取数据 从1开始
数据库字段类型和Java类型对比
数据库 Java
int getInt
varchar getString
double getDouble
datetime/timestamp getDate
关闭资源
- 关闭Connection,使用完之后的连接要及时关闭,避免浪费资源.
- 关闭Statement,会占用内存空间,而且Statement对象有上限
- 关闭ResultSet,里面保存的是查询结果,用完就释放,节省空间
- 关闭顺序: ResultSet->Statement->Connection
封装工具类
- 复用代码
maven
maven是项目管理工具,可以构建工程,通过使用坐标的形式导入jar包,使用maven会自动导入依赖jar包