标签:update 事务 语句 last 打开 建立连接 jar包 数据对象 创建
一、概念
1.JDBC:
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
2.一般步骤:
A.载入JDBC驱动程序
B.定义连接URL
C.建立连接
D.创建Statement对象
E.执行查询或更新
F.结果处理
G.关闭连接
3.常用接口:
#Driver接口
Driver接口由数据库厂家提供,作为java开发人员,只需要使用Driver接口就可以了。在编程中要连接数据库,必须先装载特定厂商的数据库驱动程序,不同的数据库有不同的装载方法。如:
装载MySql驱动:Class.forName("com.mysql.jdbc.Driver");
装载Oracle驱动:Class.forName("oracle.jdbc.driver.OracleDriver");
#Connection接口
Connection与特定数据库的连接(会话),在连接上下文中执行sql语句并返回结果。DriverManager.getConnection(url, user, password)方法建立在JDBC URL中定义的数据库Connection连接上。
连接MySql数据库:Connection conn = DriverManager.getConnection("jdbc:mysql://host:port/database", "user", "password");
连接Oracle数据库:Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@host:port:database", "user", "password");
连接SqlServer数据库:Connection conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://host:port; DatabaseName=database", "user", "password");
常用方法:
#Statement接口
用于执行静态SQL语句并返回它所生成结果的对象。
三种Statement类:
常用Statement方法:
#ResultSet接口
ResultSet提供检索不同类型字段的方法,常用的有:
ResultSet还提供了对结果集进行滚动的方法:
使用后依次关闭对象及连接:ResultSet → Statement → Connection(后开先关)
1 /** 2 * 如果你要使用我的代码,在此之前请在mysql创建jdbc_test数据库,并建立student表,两个字段,name和age 3 */ 4 public class JDBCTest { 5 /** 6 * 数据库相关参数 7 */ 8 //这是驱动名称,此例子中我们加载的是mysql的驱动,在之前需要导入mysql的驱动jar包 9 public static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; 10 11 //连接数据库的url,各个数据库厂商不一样,此处为mysql的;后面是创建的数据库名称 12 public static final String JDBC_URL = "jdbc:mysql://localhost:3306/jdbc_test"; 13 14 //连接数据库所需账户名 15 public static final String JDBC_USERNAME = "root"; 16 17 //用户名对应的密码,我的mysql密码是123456 18 public static final String JDBC_PASSWORD = "123456"; 19 20 21 @Test 22 public void testUpdate() { 23 Connection connection = null; 24 PreparedStatement preparedStatement = null; 25 26 try { 27 //第一步:加载Driver类,注册数据库驱动 28 Class.forName(JDBC_DRIVER); 29 //第二步:通过DriverManager,使用url,用户名和密码建立连接(Connection) 30 connection = DriverManager.getConnection(JDBC_URL, JDBC_USERNAME, JDBC_PASSWORD); 31 //第三步:通过Connection,使用sql语句打开Statement对象; 32 preparedStatement = connection.prepareStatement("UPDATE student SET age=20 WHERE name=?"); 33 //传入参数,之所以这样是为了防止sql注入 34 preparedStatement.setString(1, "xiaoming"); 35 //第四步:执行语句,将结果返回resultSet 36 int count = preparedStatement.executeUpdate(); 37 //第五步:对结果进行处理 38 System.out.println(count); 39 } catch (ClassNotFoundException e) { 40 e.printStackTrace(); 41 } catch (SQLException e) { 42 e.printStackTrace(); 43 } finally { 44 //第六步:倒叙释放资源resultSet-》preparedStatement-》connection 45 46 try { 47 if (preparedStatement != null && 48 !preparedStatement.isClosed()) { 49 preparedStatement.close(); 50 } 51 } catch (SQLException e) { 52 e.printStackTrace(); 53 } 54 55 try { 56 if (connection != null && connection.isClosed()) { 57 connection.close(); 58 } 59 } catch (SQLException e) { 60 e.printStackTrace(); 61 } 62 } 63 } 64 }
标签:update 事务 语句 last 打开 建立连接 jar包 数据对象 创建
原文地址:https://www.cnblogs.com/liuhuijie/p/9135923.html