jdbc可以屏蔽数据库细节,所以写一份就可以写不同的驱动来操作不同的数据库
jdbc API能干什么事:画图理解
不同数据库连接字符串不同,基本都是ip地址+端口号+数据库名字
功能和操作步骤:
我的实现:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCdemo {
//为连接数据库做准备
private final static String UPL="jdbc:mysql://localhost:3306/student";//连接字符串
private final static String UNAME="root";
private final static String UPWD="123456";
public static void updata() throws ClassNotFoundException, SQLException {//增删改
//b 与数据库建立连接
Connection connection = null;
//c发送sql,执行(增删改,查)
Statement stmt = null;
try {
//a导入驱动,加载具体的驱动类(已完成
Class.forName("com.mysql.jdbc.Driver");//加载具体驱动类
connection = DriverManager.getConnection(UPL, UNAME, UPWD);
stmt = connection.createStatement();
String sql="insert into student values(1,'zs',23,'s1')";//add
//String sql="update student set STUNAME = 'ls' where stuno=1";//update
//String sql="delete from student where stuno=1";//delete
int cnt = stmt.executeUpdate(sql) ; //返回值为int,可以用来显示几条信息已插入或删除之类
//d处理结果
if(cnt>0) {
System.out.println("已插入"+cnt+"条数据");
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
//关闭数据库
if(stmt!=null)stmt.close();
if(connection!=null)connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args) throws ClassNotFoundException, SQLException {
updata();
}
}
代码之外的准备的话:
1·下载驱动类jar包(存在了D:\eclipse-jee下)
2·下载mysql和navicat(初始化配置头疼)
3·新建数据库,新建表,字符集选择utf-8 排序方式utf-8_general_ci
学到的小知识
ctrl + 1直接创建变量
alt+shift+z surround with
ma 主函数
下载jar包可以搜索关键字时在最后写个maven