当前位置:Gxlcms > 数据库问题 > java中的jdbc连接数据库方法及应用

java中的jdbc连接数据库方法及应用

时间:2021-07-01 10:21:17 帮助过:2人阅读

  import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;   public class Demo03 { public static void main(String[] args) throws ClassNotFoundException, SQLException { //口诀:猪脸特直观 //注册 Class.forName("com.mysql.jdbc.Driver");   //连接 Connection connention = DriverManager.getConnection("jdbc:mysql://localhost:3306/test3", "root", "ms"); String sql = "SELECT * FROM student"; //准备sql语句 //获取Statement对象(简称:特) Statement statement = connention.createStatement(); //执行 ResultSet resultSet = statement.executeQuery(sql); while(resultSet.next()){ //ResultSet里面的get相关方法列号是从1开始的,切记。 System.out.println(resultSet.getInt(1)+","+resultSet.getString(2)+","+resultSet.getInt(3)+","+resultSet.getString(4)); } //关闭(倒关) resultSet.close(); statement.close(); connention.close(); } }
  1. 注册有三种方法
  • 方法一:Class.forName("com.mysql.jdbc.Driver");
  • 方法二:Driver driver = new com.mysql.jdbc.Driver();
//注册 DriverManager.registerDriver(driver); Connection Connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test3", "root", "ms");
  • 方法三:DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //匿名对象注册
Connection Connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test3", "root", "ms");
  1. 连接有三种方法
  • 方法一:Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test3", "root", "ms");
  • 方法二:Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test3?user=root&password=ms");
  • 方法三:String url = "jdbc:mysql://localhost:3306/test3";
Properties prop = new Properties(); prop.setProperty("user", "root"); prop.setProperty("password", "ms"); Connection connection = DriverManager.getConnection(url, prop);     接口
  • Driver中的java.sql类 DriverManager
常见的方法有:getConnection(String url, String user, String password)  试图建立到给定数据库 URL 的连接。
  • Connection接口:与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。
常见的方法有 close()  立即释放此 Connection 对象的数据库和 JDBC 资源,而不是等待它们被自动释放。 createStatement() 创建一个 Statement 对象来将 SQL 语句发送到数据库。 prepareStatement(String sql)  创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库。
  • Statement接口:用于执行静态 SQL 语句并返回它所生成结果的对象。
常见的方法有: close()  立即释放此 Statement 对象的数据库和 JDBC 资源,而不是等待该对象自动关闭时发生此操作。 executeQuery(String sql)  执行给定的 SQL 语句,该语句返回单个 ResultSet 对象 executeUpdate(String sql)  执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。
  • PreparedStatement接口
extends Statement 表示预编译的 SQL 语句的对象。 SQL 语句被预编译并存储在 PreparedStatement 对象中。然后可以使用此对象多次高效地执行该语句。
  • ResultSet接口:表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。
常见的方法有: close()  立即释放此 ResultSet 对象的数据库和 JDBC 资源,而不是等待该对象自动关闭时发生此操作。 next()  将光标从当前位置向前移一行。 getInt(int columnIndex)  以 Java 编程语言中 int 的形式获取此 ResultSet 对象的当前行中指定列的值。 同样的还有getByte,getString,getLong,getDouble,getBoolen,getObject等等 java.sql.statement 类 throws SQL Exception
  • createStatement()
创建一个 Statement 对象来将 SQL 语句发送到数据库。不带参数的 SQL 语句通常使用 Statement 对象执行。如果多次执行相同的 SQL 语句,使用 PreparedStatement 对象可能更有效。 例如:适用于select查询中 Statement statement = connention.createStatement(); ResultSet resultSet = statement.executeQuery(sql);
  • prepareStatement(String sql)
创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库。 带有 IN 参数或不带有 IN 参数的 SQL 语句都可以被预编译并存储在 PreparedStatement 对象中。然后可以有效地使用此对象来多次执行该语句。 参数: sql - 可能包含一个或多个 ‘?‘ IN 参数占位符的 SQL 语句 技术分享 以下方法中需要建立相关数据库才能得出正确结果 例如:java 中创建类的方法,在数据库中插入数据 public class AccountDaoImpl implements IAccountDao{ @Override public Integer addAccount(AccountModel account) { String sql = "INSERT INTO student VALUES(NULL,?,?)"; Connection conn = null; PreparedStatement pstmt = null; Integer result = null; try { conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test8","root","ms"); pstmt = conn.prepareStatement(sql); pstmt.setString(1, account.getname()); pstmt.setDouble(2, account.getage()); result = pstmt.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("新增失败!"); } finally { try { DBUtil.close(pstmt, conn); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return result; } java EE中连接数据库的方法,在数据库中插入数据 技术分享 以下内容请在servlet类中进行填写,并且需要创建相关数据库,最后在webcontant文件夹中建立HTML文件,并且运行填入数据。html文件如下 技术分享 //设置字符编码几格式 request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); response.setContentType("text/html");   //连接数据库 String name=request.getParameter("name"); String ageString= request.getParameter("age"); double age=Double.parseDouble(ageString);   Connection conn=null; PreparedStatement pstmt=null; int result=0; try { conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/test8","root","ms"); String sql="INSERT INTO student(name,age) VALUES(?,?)"; pstmt=conn.prepareStatement(sql); pstmt.setString(1, name); pstmt.setDouble(2, age); result=pstmt.executeUpdate(); if(result>0){ response.getWriter().println("提交成功,谢谢!"); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { pstmt.close(); conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }     java EE中连接数据库的方法,在数据库中查询数据 //设置字符编码及文本格式 request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); response.setContentType("text/html");   //连接数据库 Connection conn = null; Statement stmt = null; ResultSet rs = null;   try { conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test1", "root", "ms"); stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT sname,score FROM `program_score`"); PrintWriter pw = response.getWriter(); pw.println("<table border=‘2px solid‘>"); while(rs.next()){ pw.println("<tr><td>"+rs.getString("sname")+"</td><td>"+rs.getString("score")+"</td></tr>"); } pw.println("</table>"); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { rs.close(); stmt.close(); conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }  
  1. 查找select 用.executeQuery(String sql);
ResultSet resultSet = statement.executeQuery(String sql); 增加insert、删除delete、改变update 用executeUpdate() int result=PreparedStatement.executeUpdate();   executeQuery ResultSet executeQuery(String sql) throws SQLException 执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。 参数: sql - 要发送给数据库的 SQL 语句,通常为静态 SQL SELECT 语句 返回: 包含给定查询所生成数据的 ResultSet 对象;永远不能为 null 抛出: SQLException - 如果发生数据库访问错误,在已关闭的 Statement 上调用此方法,或者给定 SQL 语句生成单个 ResultSet 对象之外的任何其他内容   executeUpdate int executeUpdate(String sql) throws SQLException 执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。 参数: sql - SQL 数据操作语言(Data Manipulation Language,DML)语句,如 INSERT、UPDATE 或 DELETE;或者不返回任何内容的 SQL 语句,如 DDL 语句。 返回: (1) 对于 SQL 数据操作语言 (DML) 语句,返回行计数 (2) 对于什么都不返回的 SQL 语句,返回 0 抛出: SQLException - 如果发生数据库访问错误,在已关闭的 Statement 上调用此方法,或者给定的 SQL 语句生成 ResultSet 对象    

java中的jdbc连接数据库方法及应用

标签:

人气教程排行