java/jsp执行sql语句的方式

  首先给出sql驱动包

  引入sql包

  import java.sql.*;//java

  <%@ page import="java.sql.*"%>//jsp

  连接mysql数据库

  String DBDRIVER= "com.mysql.jdbc.Driver";//驱动程序

  String DBURL="jdbc:mysql://localhost:3306/db_jsp?characterEncoding=utf-8";

  //localhost是本机地址,3306端口,db_jsp数据库名,utf-8编码

  String DBUSER= "root";//登录名

  String DBPASSWORD= "toor";//登陆密码

  Connection conn=null;//Connection对象

  try{

  Class.forName(DBDRIVER);//将数据库驱动加载到JVM中,Driver类实例注册到DriverManager类中

  conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);//获取Connection对象

  }catch (Exception e){

  System.out.println("数据库连接失败:" + e.getMessage());

  }

  1.执行静态SQL语句,一般用Statement

  Statement提供了三种执行方法:

  (1)ResultSet executeQuery(String sqlString),执行查询语句,返回ResultSet;

  (2)int executeUpdate(String sqlString),执行更新语句(INSERT,UPDATE,DELETE,SQL DDL[CREATE TABLE,DROP TABLE])等,返回值是本次操作影响的记录数

  (3)execute(String sqlString),可以如(1)(2)处理单个语句,也可以处理返回多个结果的预编译语句

  //执行例子

  Statement stmt=null;无锡看男科医院哪家好 https://yyk.familydoctor.com.cn/20612/

  String sql="INSERT INTO x(a,b) VALUES('1','2')";

  stmt = conn.createStatement();

  stmt.executeUpdate(sql);//int

  2.执行动态SQL语句,一般用PreparedStatement

  PreparedStatement继承自Statement,但已经过预编译,所以执行效率更高,并且PreparedStatement不是完整的sql语句,待定字符用'?'代替,用setXXX方法设置字段

  PreparedStatement pstmt = null;//PreparedStatement对象

  String sql = "UPDATE person set password=? WHERE id=?";//'?'动态设置

  pstmt = conn.prepareStatement(sql);//预编译sql语句

  pstmt.setString(1,"hello");//第一个动态字段是String类型

  pstmt.setInt(2,123);//第二个动态字段是int类型

  pstmt.executeUpdate();//执行语句

  3.ResultSet接口提供访问结果集的方法

  ResultSet rs=stmt.executeQuery("SELECT * FROM per");//假设per数据库有id和name字段

  while(rs.next()){

  String id=rs.getString("id");

  String id=rs.getString("name");

  System.out.println(id+" "+name);

  }

posted @ 2019-06-25 10:30  tiana_Z  阅读(3705)  评论(0编辑  收藏  举报