java/jsp执行sql语句的方式

首先给出sql驱动包(CSDN无法设置免CB下载,介意的请大家另辟途径获取)

引入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;
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);
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cout0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值