手机建设网站,网页制作三剑客教程,用me做后缀的网站,手机百度建设网站jdbc
接口是一个类的父类 java连接数据库, java操作数据库, 把java作为数据库的一个客户端 JDBC是接口#xff0c;而JDBC驱动才是接口的实现#xff0c;没有驱动无法完成数据库连接#xff01;每个数据库厂商都有自己的驱动#xff0c;用来连接自己公司的数据库。 …jdbc
接口是一个类的父类 java连接数据库, java操作数据库, 把java作为数据库的一个客户端 JDBC是接口而JDBC驱动才是接口的实现没有驱动无法完成数据库连接每个数据库厂商都有自己的驱动用来连接自己公司的数据库。 当然还有第三方公司专门为某一数据库提供驱动这样的驱动往往不是开源免费的 jdbc开发步骤: 编码, 使用jdk提供的jdbc接口(位于java.sql包), 核心接口: java.sql.Connection(连接) java.sql.Statement(发送sql,通知数据库执行) java.sql.ResultSet(获取查询sql的结果集) 一个核心类: java.sql.DriverManager(数据库驱动管理器), 得到数据库的连接对象 jdbc开发步骤: 添加第三方数据库驱动ja 编码, 使用jdk提供的jdbc接口(位于java.sql包), 核心接口: java.sql.Connection(连接) java.sql.Statement(发送sql,通知数据库执行) java.sql.ResultSet(获取查询sql的结果集) 一个核心类: java.sql.DriverManager(数据库驱动管理器), 得到数据库的连接对象 jdbc的编码 1. 项目中导入数据库驱动jar 2. 加载启动类 3. 得到连接对象Connection 4. 创建Statement对象 5. 编写sql语句(java普通字符串) 6. 执行之 7. 如果增删改, 得到结果: 受影响行数, 如果查询,得到结果集(ResultSet), 解析ResultSet得到数据 8. 关闭资源 实现查询
import java.sql.*;
import java.util.Date;
import java.util.Scanner;/*** 查询*/
public class Demo2 {public static void main(String[] args) {/*1. 加载启动类2. 得到连接对象Connection3. 创建Statement对象4. 编写sql语句(java普通字符串)5. 执行之6. 如果增删改, 得到结果: 受影响行数, 如果查询,得到结果集(ResultSet), 解析ResultSet得到数据7. 关闭资源*/Connection conn null;Statement statement null;ResultSet resultSet null;try {Class.forName(com.mysql.jdbc.Driver);String url jdbc:mysql://localhost:3306/test2?useUnicodetruecharacterEncodingutf8useSSLfalse;conn DriverManager.getConnection(url, root, 123);statement conn.createStatement();System.out.print(请输入要查询员工姓名:);Scanner input new Scanner(System.in);String name input.next();String sql select * from emp where ename name;System.out.println(sql);resultSet statement.executeQuery(sql);//循环获取数据, 一行一行的获取//一定要先调用next()while(resultSet.next()){//获取这一行的单元格中数据// getXxx(int 列序号): 从1开始 Xxx: 数据类型int empNo resultSet.getInt(1);String ename resultSet.getString(2);String job resultSet.getString(3);int mgr resultSet.getInt(4);Date hiredate resultSet.getDate(5);double sal resultSet.getDouble(6);double comm resultSet.getDouble(7);int deptNo resultSet.getInt(8);System.out.println(empNo,ename,job,mgr,hiredate,sal,comm,deptNo);}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException throwables) {throwables.printStackTrace();}finally{//倒序关try {if(resultSet ! null) {resultSet.close();}if(statement ! null) {statement.close();}if(conn ! null) {conn.close();}} catch (SQLException throwables) {throwables.printStackTrace();}}}
}
使用jdbc操纵数据库
import javax.xml.bind.SchemaOutputResolver;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;/*** 使用jdbc操作数据*/
public class Demo1 {public static void main(String[] args) {/*1. 加载启动类2. 得到连接对象Connection3. 创建Statement对象4. 编写sql语句(java普通字符串)5. 执行之6. 如果增删改, 得到结果: 受影响行数, 如果查询,得到结果集(ResultSet), 解析ResultSet得到数据7. 关闭资源*/Connection conn null;Statement statement null;try {//1. 加载启动类 反射 核心: ClassClass.forName(com.mysql.jdbc.Driver);//2.得到连接对象Connection 通过DriverManager的静态方法getConnection()String url jdbc:mysql://localhost:3306/test2?useUnicodetruecharacterEncodingutf8useSSLfalse;conn DriverManager.getConnection(url, root, 123);//System.out.println(conn);System.out.println(与数据库服务器连接上了...);//3.创建Statement对象statement conn.createStatement();//4.编写sql语句//System.out.print(请输入要删除的员工编号:);System.out.print(请输入要加薪的员工编号:);Scanner input new Scanner(System.in);int empno input.nextInt();//删除//String sql delete from emp where empno empno;String sql update emp set sal sal 500 where empno empno;//5.执行之 执行增删改sql: Statement的 int executeUpdate(sql)// 执行查询sql: Statement的 ResultSet executeQuery(sql)int rs statement.executeUpdate(sql);if(rs 0){//System.out.println(删除成功);System.out.println(加薪成功);}} catch (ClassNotFoundException e) {//Driver类找不到//出现原因: 1. 驱动jar没到导入 2. 驱动类包.类名字符串写错e.printStackTrace();} catch (SQLException throwables) {//出现原因: 1. 数据库服务没有开启 2. url写错 3. 用户名错误 4.密码错误throwables.printStackTrace();}finally{//倒序关try {if(statement ! null) {statement.close();}if(conn ! null) {conn.close();}} catch (SQLException throwables) {throwables.printStackTrace();}}}}