1.基本结构:
package com.atguigu.servlets;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class JDBCemo {
public static void main(String[] args) throws Exception{
String url = "jdbc:mysql:///mysql";
String username = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, username, password);
String sql = "update account set money = 2000 where id = 1";
Statement stmt = conn.createStatement();
int count = stmt.executeUpdate(sql);
System.out.println(count);
stmt.close();
conn.close();
}
}
2.详细api解释:
①DriverManager(驱动管理类)作用:注册驱动 获取数据库连接
②Connectiong作用:获取执行sql的对象:createStatement() prepareStatement(sql)
③Statement作用:执行sql语句 int executeUpdate(sql)执行DML(数据操作语句:数据进行操作)、DDL(数据定义语句:操作数据库对象的结构) 返回影响的行数
ResultSet executeQuery(sql)执行DQL语句(数据查询语句:进行数据的查询) 返回结果集
④ResultSet作用:封装了DQL查询的结果
ResultSet stmt.executeQuery(sql)
ResultSet中定义的方法:
boolean next():向前移动一行,判断当前行是否为有效行,true为有效, false为无效
xxx getXxx(参数)获取数据
参数:int 列的编号 String:列的名称
package com.atguigu.servlets;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JDBCemo {
public static void main(String[] args) throws Exception{
String url = "jdbc:mysql:///mysql";
String username = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, username, password);
String sql = "select * from account";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()){
int id = rs.getInt(1);
String name = rs.getString(2);
double money = rs.getDouble(3);
System.out.println(id);
System.out.println(name);
System.out.println(money);
}
stmt.close();
conn.close();
}
}
⑤PreparedStatement作用:预编译sql语句并执行
优点:预编译sql,性能更好;防止sql注入;
想要打开预编译功能,需要在连接的url后加入一串代码
String url = "jdbc:mysql:///mysql&userServerPreStmts=true";
package com.atguigu.servlets;
import java.sql.*;
public class JDBCemo {
public static void main(String[] args) throws Exception{
String url = "jdbc:mysql:///mysql";
String username = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, username, password);
String sql = "select * from user where name = ? and password = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
String inname = "wangwu";
int inps = 123456;
pstmt.setString(1, inname);
pstmt.setInt(2, inps);
pstmt.executeQuery();
pstmt.close();
conn.close();
}
}
获取对象:
(1)注册驱动
Class.forName(("com.mysql.jdbc.Driver"));
mqsql5之后的驱动包就可以省略注册驱动的步骤
(2)获取连接对象
Connection conn = DriverManager.getConnection(url, username, password);
其中,url的语法:
jdbc:mysql://ip地址(域名:localhost)/数据库名称
实例: String url = "jdbc:mysql://localhost/mysql";
细节:如果连接的是本机mysql数据库,端口号为3306,则可以简写
String url = "jdbc:mysql:///mysql";



















