JDBC是什么?
用java语言操作关系型数据库的一套api
JDBC是用来干什么的?
用java语言来操作数据库
JDBC怎么写:
1、加载驱动类Driver全限定名: 包.类名
2、获取连接
//getConnection(url,username,password)
//http://www.baidu.com:80 百度网址
// url:访问数据库服务器的网址
//jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=utf8&useSSL=false
// jdbc: 协议名
// mysql: 连接那种数据库
// localhost: mysql服务器的ip地址,本机 远程的mysql服务器: 真实IP
//3306: mysql服务器的默认端口
//mytest: 访问那个数据库, 数据库名称
//?k1=v1: 数据库的其他参数
//?useUnicode=true&characterEncoding=utf8&useSSL=false
//useUnicode: 是否使用unicode编码
//characterEncoding: 字符集编码: utf8
//useSSL: 是否使用ssl通信, 低版本不使用, 高版本使用
//username: 用户名
//password: 密码
3、编写sql
4、创建statement对象
5、发送sql,通知数据库执行,接受结果
// int executeUpdate(sql) 执行增删改的sql, 受影响行数
// ResultSet executeQuery(sql) 执行查询的sql 查询结果集
6、如果是查询,结果是ResultSet,解析ResultSet
7、关闭资源
public static void main(String[] args) {
Connection conn = null;
Statement smt = null;
try {
// 1、加载驱动类
Class.forName("com.mysql.jdbc.Driver");
// 2、获取连接
String url ="jdbc:mysql://localhost:3306/demo1?useUnicode=true&characterEncoding=utf8&useSSL=false";
conn = DriverManager.getConnection(url,"root","123456");
// 3、编写mysql
// 3、1删除语句
// String sql = "delete from stu where sid=2";
// 3、2修改语句
// String sql = "update stu set sname='罗璇大笨蛋',age='66' where sid=1";
// 3、3添加语句
String sql ="INSERT INTO stu values(4,'zhangsan',12,'男')";
// 4、创建statement
smt = conn.createStatement();
// 5、发送sql,通知数据库执行,接受结果
int row = smt.executeUpdate(sql);
if (row>0){
System.out.println("操作成功");
}else {
System.out.println("操作失败");
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Connection conn = null;
Statement smt = null;
ResultSet rs = null;
try {
// 1、加载驱动类
Class.forName("com.mysql.jdbc.Driver");
// 2、获取连接
String url ="jdbc:mysql://localhost:3306/demo1?useUnicode=true&characterEncoding=utf8&useSSL=false";
conn = DriverManager.getConnection(url,"root","123456");
// 3、编写sql
Scanner input = new Scanner(System.in);
System.out.println("请输入你要查询的用户名:");
String word = input.next();
String sql = "select sid,sname,age,gender from stu where sname like '%"+word+"%'";
// 4、创建statement
smt = conn.createStatement();
rs = smt.executeQuery(sql);
// 5、获取循环数据
while (rs.next()){
int id = rs.getInt(1);//用索引得到第一个id
String name= rs.getString(2);
int age = rs.getInt(3);
String gender = rs.getString(4);
System.out.println(id+"===="+name+"===="+age+"========="+gender);
}
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}finally {
try {
if (rs !=null) rs.close();
if (smt !=null)smt.close();
if (conn !=null)conn.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}