JDBC (mysql)数据库查询步骤,等实现基本数据功能
参考博客:软件园-https://www.cnblogs.com/wuziyue/p/4827295.html
开始前的准备事项
(1)安装下载程序jar包,每个版本对应着不同版本的jar包,下载是看好,具体步骤可以参照上边的博客中的介绍,也可以baidu、Google 或bing一下即可。
(2)确保数据库本地服务器处于开启状态,如果没有开启可以在管理员权限中使用命令(net start mysql57)开启,关闭时用(net stop mysql57)关闭
JDBC数据库查询步骤
(一)注册驱动:Class.forName("com.mysql.jdbc.Driver");
(二)获取连接:1.要连接的数据库的url--->"djbc:mysql://127.0.0.1:3306/student";
2.用户名--->"sunXXX";
3.密码 --->"123456";
public void startMysql() {
String url="com.mysql.jdbc.Driver";
String user="userName";
String password="123456";
try {
conn=DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
(三)创建statement对象
public void createStatement() {
try {
stmt=conn.createStatement();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
(四)执行sql语句
/**
* 查询数据库信息
* 找到相同年龄的学生
*/
public void findSameAge(String age) {
//显示查询到的信息
//数据库中表的结构为 name(varchar(10)),id(varchar(10)) ,age(int)
String sql="select * from student where age="+age;
try {
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {
System.out.println("name: "+rs.getString("name")+" id:"+rs.getString("id")+"age:"+rs.getString("age"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
(五)关闭资源
按照顺序一层一层的关闭,就像关门一样,先从里面再到外面。
rs.close();
stmt.close();
conn.close();----别忘了抛出异常啊
代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Mysql {
Connection conn=null;
Statement stmt=null;
/**
* 连接服务器
*/
public void startMysql() {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
String url="jdbc:mysql://127.0.0.1:3306/db";
String user="sunchongwei";
String password="123456";
try {
conn=DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 创建Statement对象
*/
public void createStatement() {
try {
stmt=conn.createStatement();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 查询数据库信息
* 找到相同年龄的学生
*/
public void findSameAge(String age) {
//显示查询到的信息
//数据库中表的结构为 name(varchar(10)),id(varchar(10)) ,age(int)
this.startMysql();
this.createStatement();
String sql="select * from student where age="+age;
try {
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {
System.out.println("name: "+rs.getString("name")+" id:"+rs.getString("id")+"age:"+rs.getString("age"));
}rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.closeAll();
}
/**
* 关闭资源
*/
public void closeAll() {
if(stmt!=null)
try {
stmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(conn!=null)
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 添加信息
*/
public void insertStudent(String name,String id,int age) {
String sql="insert into student values('"+name+"','"+id+"',"+age+");";
int count=0;
this.startMysql();
this.createStatement();
try {
count=stmt.executeUpdate(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(count==1) System.out.println("数据插入成功!");
else System.out.println("你这个菜鸡怎么又出错了,行不行啊!");
this.closeAll();
}
/**
* 删除姓名为XX的学生的信息
*
*/
public void deletestudent(String name) {
String sql="delete from student where name='"+name+"'";
this.startMysql();
this.createStatement();
int count=0;
try {
count = stmt.executeUpdate(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(count==1) System.out.println("删除数据成功!");
else System.out.println("删除数据失败!");
this.closeAll();
}
}
主方法部分:
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
Mysql msql=new Mysql();
//添加几个学生的信息
msql.insertStudent("小雨", "10003", 19);
msql.insertStudent("中雨", "10004", 19);
msql.insertStudent("大雨", "10005", 18);
//显示年龄为19的学生的信息
msql.findSameAge("19");
//删除<中雨>学生的信息
msql.deletestudent("中雨");
msql.findSameAge("19");
}
}
数据插入成功!
数据插入成功!
数据插入成功!
name: 小雨 id:10003age:19
name: 中雨 id:10004age:19
删除数据成功!
name: 小雨 id:10003age:19