这节学生管理系统 主要就是讲解了使用一个炸包 达到java和数据库的连接 然而达到使用eclipse修改mysql数据库里的数据 达到增删改的效果
第一步 使用mysql数据库创建一个数据表有四个类型 分别是两个int类型和两个varchar(对应java中的String类型) 然而达到了可以储存 序号id,名字name,电话tel,性别sex,然后使用创建语句如下:
create table sudent//创建sudent表语句
然后再自行插入数据需要按照这个格式(1,'杨斌',17507948568,'男')插入语句如下
insert into sudent values
(1,'杨斌',17507948568,'男');
然后打开eclipse 使用炸包和指定的内容来使java连接数据库
主要如下:a
public void getConnection () throws SQLException{
//第一步注册驱动
DriverManager.registerDriver(new Driver());//注册驱动
//第二步获取连接
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/school_java","root","1234");//使java连接mysql数据库然后连接本地服务器 指定数据库和账号密码
}
public void selectAll() throws SQLException {//查询类 查询数据表中的数据
//第三步:获取statement对象
PreparedStatement preparedStatement=connection.prepareStatement("select * from sudent;");//查询语句
//第四步:执行SQL语句返回结果集
ResultSet resultSet = preparedStatement.executeQuery();//executeQuery只能用来查询 新增修改删除都是使用另一种executeUpdate
//第五步:遍历结果集
while(resultSet.next()) {//while循环数据库中的四个类型 id name tel sex 分别是 序列 名字 电话号码 和性别
System.out.print(resultSet.getInt("id")+" ");
System.out.println(resultSet.getString("name"));
System.out.println(resultSet.getString("tel"));
System.out.println(resultSet.getString("sex"));
}
//第六步:关闭连接释放资源
resultSet.close();//关闭连接释放资源
preparedStatement.close();
}
然后在主方法中new一个对象在调用这个查询类 就可以遍历出在mysql数据库中创建的sudent表中的数据 代码如下:
MysqlDemo1 mysqldemo1 = new MysqlDemo1();
mysqldemo1.getConnection();
System.out.println("查询人员数据,结果为:");
mysqldemo1.selectAll();
运行结果如下
b:创建add类(添加数据类)来添加指定类型的数据
添加语句
("insert into sudent values (?,?,?,?);");
添加数据语句如下
public void add(int id ,String name,String tel , String sex) throws SQLException {//add添加类
PreparedStatement preparedStatement=connection.prepareStatement("insert into sudent values (?,?,?,?);");//向mysql数据库中指定的sudent表中添加数据
preparedStatement.setInt(1, id);//添加id 序号
preparedStatement.setString(2,name);//添加name//名字
preparedStatement.setString(3,tel);//添加电话
preparedStatement.setString(4,sex);//添加性别
preparedStatement.executeUpdate();
//第六步关闭接连释放资源
preparedStatement.close();
}
然后在主方法内调用方法 如下:
System.out.println("新增人员数据,结果为:");
mysqldemo1.add(11, "lanyangyang"," 17923412644","nan");
mysqldemo1.add(12, "meiyangyang"," 17977556644","nv");
mysqldemo1.add(13, "feiyangyang"," 11971236644","nan");
mysqldemo1.selectAll();
输出结果如下:
c 查询student表中电话以182开头的所有学生信息(SQL要用到模糊查询like)
模糊查询语句如下:
("select*from sudent where tel like'182%'");
使用mysql中的模糊查询来查询表中的182开通的数据 代码如下:
public void obscure() throws SQLException {//创建一个模糊查询类
PreparedStatement preparedStatement=connection.prepareStatement("select*from sudent where tel like'182%'");//使用的是mysql中的模糊查询
ResultSet resultSet = preparedStatement.executeQuery();//executeQuery只能用来查询 //新增修改删除都是使用另一种e
//第五步:遍历结果集
while(resultSet.next()) {//使用while循环来遍历表中四个类型
System.out.print(resultSet.getInt("id")+" ");//id 序号
System.out.println(resultSet.getString("name"));//name名字
System.out.println(resultSet.getString("tel"));//tel 电话
System.out.println(resultSet.getString("sex"));//sex 性别
}
}
然后在主方法内调用方法 如下:
System.out.println("查询182开头的数据,结果为:");
mysqldemo1.obscure();//查询课程表中的数据
mysqldemo1.selectAll();
输出结果如下
d 修改student表中第5条数据,电话改为“13124235300”
修改语句如下 :
("update sudent set tel=? where id=? ; ");
所有代码如下:
public void update(int id,String tel) throws SQLException {//创建一个修改语句的修改类
PreparedStatement preparedstatement =connection.prepareStatement("update sudent set tel=? where id=? ; ");//修改语句
preparedstatement.setString(1, tel);//tel 电话
preparedstatement.setInt(2, id);//id 序号
//第四步: 执行SOL语句
preparedstatement.executeUpdate();
//第六步: 关闭连接释放资源
preparedstatement.close();
}
然后在主方法内调用方法 如下:
System.out.println("修改指定5位置上的电话号码");
mysqldemo1.update(5,"13124235300");//修改该位置的数据
mysqldemo1.selectAll();
运行结果如下:
学习了abcd这四种后 后面的代码都相似 就不过多注释
e 查询student表中所有男性的学生信息
查询语句如下:
"select*from sudent where sex = ?;"
查询语句的所有代码如下:
public void man(String name ) throws SQLException {
PreparedStatement preparedstatement =connection.prepareStatement("select*from sudent where sex = ?;");
preparedstatement.setString(1, name);
ResultSet resultSet =preparedstatement.executeQuery() ;
while(resultSet.next()) {
System.out.print(resultSet.getInt("id")+" ");
System.out.println(resultSet.getString("name"));
System.out.println(resultSet.getString("tel"));
System.out.println(resultSet.getString("sex"));
}
preparedstatement.close();
}
然后在主方法内调用方法 如下:
System.out.println("查询性别为nan的数据");
mysqldemo1.man("nan");
输出结果如下:
f 修改student表中第10条数据,姓名改为“大帅哥”
语句如下:
("update sudent set name=? where id=? ; ");
修改语句的所有代码如下:
public void updatedate(int id,String name) throws SQLException {
PreparedStatement preparedstatement =connection.prepareStatement("update sudent set name=? where id=? ; ");
preparedstatement.setString(1, name);
preparedstatement.setInt(2, id);
//第四步: 执行SOL语句
preparedstatement.executeUpdate();
//第六步: 关闭连接释放资源
preparedstatement.close();
}
然后在主方法内调用方法 如下:
System.out.println("修改指定10位置上的名字");
mysqldemo1.updatedate(10,"dashuaige");//修改该位置的数据
mysqldemo1.selectAll();
运行结果如下:
g 查询student表中电话以179开头的所有学生信息(SQL要用到模糊查询like)
查询语句如下:
("select*from sudent where tel like'179%';");
查询语句的所有代码如下:
public void obscure1() throws SQLException {
PreparedStatement preparedstatement=connection.prepareStatement("select*from sudent where tel like'179%';");
ResultSet resultSet = preparedstatement.executeQuery();//executeQuery只能用来查询 //新增修改删除都是使用另一种e
//第五步:遍历结果集
while(resultSet.next()) {
System.out.print(resultSet.getInt("id")+" ");
System.out.println(resultSet.getString("name")+" ");
System.out.println(resultSet.getString("tel")+" ");
System.out.println(resultSet.getString("sex")+" ");
}
preparedstatement.close();
}
然后在主方法内调用方法 如下:
System.out.println("查询179开头的数据,结果为:");
mysqldemo1.obscure1();//查询课程表中的数据
mysqldemo1.selectAll();
输出结果如下:
h 删除student表中第3条数据
删除语句如下
"delete from sudent where id = ?;"
删除语句的所有代码如下:
public void delete(String id) throws SQLException {//删除指定位置上的数据
PreparedStatement preparedStatement = connection.prepareStatement("delete from sudent where id = ?;");
preparedStatement.setString(1, id);//
//第四步 :执行SQL语句
preparedStatement.executeUpdate();
//第六步关闭接连释放资源
preparedStatement.close();
}
然后在主方法内调用方法 如下:
System.out.println("删除课程11,12,13");
mysqldemo1.delete("11");//删除指定位置的数据
mysqldemo1.delete("12");//删除指定位置的数据
mysqldemo1.delete("13");//删除指定位置的数据
mysqldemo1.selectAll();
运行结果如下:
i 查询student表中所有女性的学生信息
查询语句如下:
("select*from sudent where sex = ?;");
查询语句的所有代码如下:
public void woman(String name ) throws SQLException {
PreparedStatement preparedstatement =connection.prepareStatement("select*from sudent where sex = ?;");
preparedstatement.setString(1, name);
ResultSet resultSet =preparedstatement.executeQuery() ;
while(resultSet.next()) {
System.out.print(resultSet.getInt("id")+" ");
System.out.println(resultSet.getString("name"));
System.out.println(resultSet.getString("tel"));
System.out.println(resultSet.getString("sex"));
}
preparedstatement.close();
}
然后在主方法内调用方法 如下:
System.out.println("查询性别为woman的数据");
mysqldemo1.man("nv");
输出结果如下:
整体代码如下:
package 第十七章;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.cj.jdbc.Driver;
import com.mysql.cj.protocol.Resultset;
public class MysqlDemo1 {
Connection connection;
public static void main(String[] args) throws SQLException {
// TODO Auto-generated method stub
MysqlDemo1 mysqldemo1 = new MysqlDemo1();
mysqldemo1.getConnection();
System.out.println("查询人员数据,结果为:");
mysqldemo1.selectAll();
System.out.println("新增人员数据,结果为:");
mysqldemo1.add(11, "lanyangyang"," 17923412644","nan");
mysqldemo1.add(12, "meiyangyang"," 17977556644","nv");
mysqldemo1.add(13, "feiyangyang"," 11971236644","nan");
mysqldemo1.selectAll();
System.out.println("查询182开头的数据,结果为:");
mysqldemo1.obscure();//查询课程表中的数据
mysqldemo1.selectAll();
System.out.println("修改指定5位置上的电话号码");
mysqldemo1.update(5,"13124235300");//修改该位置的数据
mysqldemo1.selectAll();
System.out.println("查询性别为nan的数据");
mysqldemo1.man("nan");
System.out.println("修改指定10位置上的名字");
mysqldemo1.updatedate(10,"dashuaige");//修改该位置的数据
mysqldemo1.selectAll();
System.out.println("查询179开头的数据,结果为:");
mysqldemo1.obscure1();//查询课程表中的数据
mysqldemo1.selectAll();
System.out.println("删除课程11,12,13");
mysqldemo1.delete("11");//删除指定位置的数据
mysqldemo1.delete("12");//删除指定位置的数据
mysqldemo1.delete("13");//删除指定位置的数据
mysqldemo1.selectAll();
System.out.println("查询性别为woman的数据");
mysqldemo1.man("nv");
}
public void woman(String name ) throws SQLException {
PreparedStatement preparedstatement =connection.prepareStatement("select*from sudent where sex = ?;");
preparedstatement.setString(1, name);
ResultSet resultSet =preparedstatement.executeQuery() ;
while(resultSet.next()) {
System.out.print(resultSet.getInt("id")+" ");
System.out.println(resultSet.getString("name"));
System.out.println(resultSet.getString("tel"));
System.out.println(resultSet.getString("sex"));
}
preparedstatement.close();
}
public void delete(String id) throws SQLException {//删除指定位置上的数据
PreparedStatement preparedStatement = connection.prepareStatement("delete from sudent where id = ?;");
preparedStatement.setString(1, id);//
//第四步 :执行SQL语句
preparedStatement.executeUpdate();
//第六步关闭接连释放资源
preparedStatement.close();
}
public void obscure1() throws SQLException {
PreparedStatement preparedstatement=connection.prepareStatement("select*from sudent where tel like'179%';");
ResultSet resultSet = preparedstatement.executeQuery();//executeQuery只能用来查询 //新增修改删除都是使用另一种e
//第五步:遍历结果集
while(resultSet.next()) {
System.out.print(resultSet.getInt("id")+" ");
System.out.println(resultSet.getString("name")+" ");
System.out.println(resultSet.getString("tel")+" ");
System.out.println(resultSet.getString("sex")+" ");
}
preparedstatement.close();
}
public void updatedate(int id,String name) throws SQLException {
PreparedStatement preparedstatement =connection.prepareStatement("update sudent set name=? where id=? ; ");
preparedstatement.setString(1, name);
preparedstatement.setInt(2, id);
//第四步: 执行SOL语句
preparedstatement.executeUpdate();
//第六步: 关闭连接释放资源
preparedstatement.close();
}
public void man(String name ) throws SQLException {
PreparedStatement preparedstatement =connection.prepareStatement("select*from sudent where sex = ?;");
preparedstatement.setString(1, name);
ResultSet resultSet =preparedstatement.executeQuery() ;
while(resultSet.next()) {
System.out.print(resultSet.getInt("id")+" ");
System.out.println(resultSet.getString("name"));
System.out.println(resultSet.getString("tel"));
System.out.println(resultSet.getString("sex"));
}
preparedstatement.close();
}
public void update(int id,String tel) throws SQLException {//创建一个修改语句的修改类
PreparedStatement preparedstatement =connection.prepareStatement("update sudent set tel=? where id=? ; ");//修改语句
preparedstatement.setString(1, tel);//tel 电话
preparedstatement.setInt(2, id);//id 序号
//第四步: 执行SOL语句
preparedstatement.executeUpdate();
//第六步: 关闭连接释放资源
preparedstatement.close();
}
public void obscure() throws SQLException {//创建模糊查询类
PreparedStatement preparedStatement=connection.prepareStatement("select*from sudent where tel like'182%'");//使用的是mysql中的模糊查询语句
ResultSet resultSet = preparedStatement.executeQuery();//executeQuery只能用来查询 //新增修改删除都是使用另一种e
//第五步:遍历结果集
while(resultSet.next()) {使用while循环来遍历表中四个类型
System.out.print(resultSet.getInt("id")+" ");//id 序号
System.out.println(resultSet.getString("name"));//name 名字
System.out.println(resultSet.getString("tel"));//tel //电话
System.out.println(resultSet.getString("sex"));//sex //性别
}
}
public void add(int id ,String name,String tel , String sex) throws SQLException {//add添加类
PreparedStatement preparedStatement=connection.prepareStatement("insert into sudent values (?,?,?,?);");//向mysql数据库中指定的sudent表中添加数据
preparedStatement.setInt(1, id);//添加id 序号
preparedStatement.setString(2,name);//添加name//名字
preparedStatement.setString(3,tel);//添加电话
preparedStatement.setString(4,sex);//添加性别
preparedStatement.executeUpdate();
//第六步关闭接连释放资源
preparedStatement.close();
}
public void getConnection () throws SQLException{
//第一步注册驱动
DriverManager.registerDriver(new Driver());//注册驱动
//第二步获取连接
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/school_java","root","1234");//使java连接mysql数据库然后连接本地服务器 指定数据库和账号密码
}
public void selectAll() throws SQLException {//查询类 查询数据表中的数据
//第三步:获取statement对象
PreparedStatement preparedStatement=connection.prepareStatement("select * from sudent;");//查询语句
//第四步:执行SQL语句返回结果集
ResultSet resultSet = preparedStatement.executeQuery();//executeQuery只能用来查询 新增修改删除都是使用另一种executeUpdate
//第五步:遍历结果集
while(resultSet.next()) {//while循环数据库中的四个类型 id name tel sex 分别是 序列 名字 电话号码 和性别
System.out.print(resultSet.getInt("id")+" ");
System.out.println(resultSet.getString("name"));
System.out.println(resultSet.getString("tel"));
System.out.println(resultSet.getString("sex"));
}
//第六步:关闭连接释放资源
resultSet.close();//关闭连接释放资源
preparedStatement.close();
}
public void close() throws SQLException {
connection.close();//最后关闭连接释放资源
}
}
以上内容就是本小节的学习知识 ,主要就是abcd 前四题有点难度 后面的全部都是跟前四题一样的题目 只需要改一点点内容就好