学生管理系统

这节学生管理系统  主要就是讲解了使用一个炸包   达到java和数据库的连接   然而达到使用eclipse修改mysql数据库里的数据 达到增删改的效果

第一步 使用mysql数据库创建一个数据表有四个类型 分别是两个int类型和两个varchar(对应java中的String类型)   然而达到了可以储存  序号id,名字name,电话tel,性别sex,然后使用创建语句如下:

create table sudent//创建sudent表语句

然后再自行插入数据需要按照这个格式(1,'丁国俊',18870163313,'男')插入语句如下

 
  1. insert into sudent values

  2. (1,'唐亮',18870163313,'男');

然后打开eclipse 使用炸包和指定的内容来使java连接数据库

主要如下:a

 
  1. public void getConnection () throws SQLException{

  2. //第一步注册驱动

  3. DriverManager.registerDriver(new Driver());//注册驱动

  4. //第二步获取连接

  5. connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/school_java","root","1234");//使java连接mysql数据库然后连接本地服务器 指定数据库和账号密码

  6. }

  7. public void selectAll() throws SQLException {//查询类 查询数据表中的数据

  8. //第三步:获取statement对象

  9. PreparedStatement preparedStatement=connection.prepareStatement("select * from sudent;");//查询语句

  10. //第四步:执行SQL语句返回结果集

  11. ResultSet resultSet = preparedStatement.executeQuery();//executeQuery只能用来查询 新增修改删除都是使用另一种executeUpdate

  12. //第五步:遍历结果集

  13. while(resultSet.next()) {//while循环数据库中的四个类型 id name tel sex 分别是 序列 名字 电话号码 和性别

  14. System.out.print(resultSet.getInt("id")+" ");

  15. System.out.println(resultSet.getString("name"));

  16. System.out.println(resultSet.getString("tel"));

  17. System.out.println(resultSet.getString("sex"));

  18. }

  19. //第六步:关闭连接释放资源

  20. resultSet.close();//关闭连接释放资源

  21. preparedStatement.close();

  22.  
  23. }

然后在主方法中new一个对象在调用这个查询类 就可以遍历出在mysql数据库中创建的sudent表中的数据  代码如下:

 
  1. MysqlDemo1 mysqldemo1 = new MysqlDemo1();

  2. mysqldemo1.getConnection();

  3. System.out.println("查询人员数据,结果为:");

  4. mysqldemo1.selectAll();

 运行结果如下

学生管理系统_第1张图片

 b:创建add类(添加数据类)来添加指定类型的数据

添加语句

("insert into sudent values (?,?,?,?);");

添加数据语句如下

 
  1. public void add(int id ,String name,String tel , String sex) throws SQLException {//add添加类

  2. PreparedStatement preparedStatement=connection.prepareStatement("insert into sudent values (?,?,?,?);");//向mysql数据库中指定的sudent表中添加数据

  3. preparedStatement.setInt(1, id);//添加id 序号

  4. preparedStatement.setString(2,name);//添加name//名字

  5. preparedStatement.setString(3,tel);//添加电话

  6. preparedStatement.setString(4,sex);//添加性别

  7. preparedStatement.executeUpdate();

  8. //第六步关闭接连释放资源

  9. preparedStatement.close();

  10. }

然后在主方法内调用方法  如下:

 
  1. System.out.println("新增人员数据,结果为:");

  2. mysqldemo1.add(11, "lanyangyang"," 17923412644","nan");

  3. mysqldemo1.add(12, "meiyangyang"," 17977556644","nv");

  4. mysqldemo1.add(13, "feiyangyang"," 11971236644","nan");

  5. mysqldemo1.selectAll();

输出结果如下:

学生管理系统_第2张图片

 c  查询student表中电话以182开头的所有学生信息(SQL要用到模糊查询like)

模糊查询语句如下:

("select*from sudent where tel like'182%'");

使用mysql中的模糊查询来查询表中的182开通的数据   代码如下:

 
  1. public void obscure() throws SQLException {//创建一个模糊查询类

  2. PreparedStatement preparedStatement=connection.prepareStatement("select*from sudent where tel like'182%'");//使用的是mysql中的模糊查询

  3. ResultSet resultSet = preparedStatement.executeQuery();//executeQuery只能用来查询 //新增修改删除都是使用另一种e

  4. //第五步:遍历结果集

  5. while(resultSet.next()) {//使用while循环来遍历表中四个类型

  6. System.out.print(resultSet.getInt("id")+" ");//id 序号

  7. System.out.println(resultSet.getString("name"));//name名字

  8. System.out.println(resultSet.getString("tel"));//tel 电话

  9. System.out.println(resultSet.getString("sex"));//sex 性别

  10. }

  11. }

 然后在主方法内调用方法  如下:

 
  1. System.out.println("查询182开头的数据,结果为:");

  2. mysqldemo1.obscure();//查询课程表中的数据

  3. mysqldemo1.selectAll();

输出结果如下

学生管理系统_第3张图片

 d 修改student表中第5条数据,电话改为“13124235300”

修改语句如下 :

("update sudent set tel=?  where id=? ; ");

所有代码如下:

 
  1. public void update(int id,String tel) throws SQLException {//创建一个修改语句的修改类

  2. PreparedStatement preparedstatement =connection.prepareStatement("update sudent set tel=? where id=? ; ");//修改语句

  3. preparedstatement.setString(1, tel);//tel 电话

  4. preparedstatement.setInt(2, id);//id 序号

  5. //第四步: 执行SOL语句

  6. preparedstatement.executeUpdate();

  7. //第六步: 关闭连接释放资源

  8. preparedstatement.close();

  9. }

 然后在主方法内调用方法  如下:

 
  1. System.out.println("修改指定5位置上的电话号码");

  2. mysqldemo1.update(5,"13124235300");//修改该位置的数据

  3. mysqldemo1.selectAll();

运行结果如下:

学生管理系统_第4张图片

 学习了abcd这四种后 后面的代码都相似 就不过多注释

 e 查询student表中所有男性的学生信息

查询语句如下:

"select*from sudent where sex = ?;"

查询语句的所有代码如下:

 
  1. public void man(String name ) throws SQLException {

  2. PreparedStatement preparedstatement =connection.prepareStatement("select*from sudent where sex = ?;");

  3. preparedstatement.setString(1, name);

  4. ResultSet resultSet =preparedstatement.executeQuery() ;

  5. while(resultSet.next()) {

  6. System.out.print(resultSet.getInt("id")+" ");

  7. System.out.println(resultSet.getString("name"));

  8. System.out.println(resultSet.getString("tel"));

  9. System.out.println(resultSet.getString("sex"));

  10. }

  11. preparedstatement.close();

  12. }

 然后在主方法内调用方法  如下:

 
  1. System.out.println("查询性别为nan的数据");

  2. mysqldemo1.man("nan");

 输出结果如下:

学生管理系统_第5张图片

 f 修改student表中第10条数据,姓名改为“大帅哥”

语句如下:

("update sudent set name=?  where id=? ; ");

 修改语句的所有代码如下:

 
  1. public void updatedate(int id,String name) throws SQLException {

  2. PreparedStatement preparedstatement =connection.prepareStatement("update sudent set name=? where id=? ; ");

  3. preparedstatement.setString(1, name);

  4. preparedstatement.setInt(2, id);

  5. //第四步: 执行SOL语句

  6. preparedstatement.executeUpdate();

  7. //第六步: 关闭连接释放资源

  8. preparedstatement.close();

  9. }

  然后在主方法内调用方法  如下:

 
  1. System.out.println("修改指定10位置上的名字");

  2. mysqldemo1.updatedate(10,"dashuaige");//修改该位置的数据

  3. mysqldemo1.selectAll();

运行结果如下:

学生管理系统_第6张图片

g 查询student表中电话以179开头的所有学生信息(SQL要用到模糊查询like)

查询语句如下:

("select*from sudent where tel like'179%';");

查询语句的所有代码如下:

 
  1. public void obscure1() throws SQLException {

  2. PreparedStatement preparedstatement=connection.prepareStatement("select*from sudent where tel like'179%';");

  3. ResultSet resultSet = preparedstatement.executeQuery();//executeQuery只能用来查询 //新增修改删除都是使用另一种e

  4. //第五步:遍历结果集

  5. while(resultSet.next()) {

  6. System.out.print(resultSet.getInt("id")+" ");

  7. System.out.println(resultSet.getString("name")+" ");

  8. System.out.println(resultSet.getString("tel")+" ");

  9. System.out.println(resultSet.getString("sex")+" ");

  10. }

  11. preparedstatement.close();

  12. }

然后在主方法内调用方法  如下:

 
  1. System.out.println("查询179开头的数据,结果为:");

  2. mysqldemo1.obscure1();//查询课程表中的数据

  3. mysqldemo1.selectAll();

 输出结果如下:

学生管理系统_第7张图片

 h 删除student表中第3条数据

删除语句如下

"delete from sudent where id = ?;"

删除语句的所有代码如下:

 
  1. public void delete(String id) throws SQLException {//删除指定位置上的数据

  2. PreparedStatement preparedStatement = connection.prepareStatement("delete from sudent where id = ?;");

  3. preparedStatement.setString(1, id);//

  4. //第四步 :执行SQL语句

  5. preparedStatement.executeUpdate();

  6. //第六步关闭接连释放资源

  7. preparedStatement.close();

  8. }

 然后在主方法内调用方法  如下:

 
  1. System.out.println("删除课程11,12,13");

  2. mysqldemo1.delete("11");//删除指定位置的数据

  3. mysqldemo1.delete("12");//删除指定位置的数据

  4. mysqldemo1.delete("13");//删除指定位置的数据

  5. mysqldemo1.selectAll();

 运行结果如下:

学生管理系统_第8张图片

i  查询student表中所有女性的学生信息 

查询语句如下:

("select*from sudent where sex = ?;");

查询语句的所有代码如下:

 
  1. public void woman(String name ) throws SQLException {

  2. PreparedStatement preparedstatement =connection.prepareStatement("select*from sudent where sex = ?;");

  3. preparedstatement.setString(1, name);

  4. ResultSet resultSet =preparedstatement.executeQuery() ;

  5. while(resultSet.next()) {

  6. System.out.print(resultSet.getInt("id")+" ");

  7. System.out.println(resultSet.getString("name"));

  8. System.out.println(resultSet.getString("tel"));

  9. System.out.println(resultSet.getString("sex"));

  10. }

  11. preparedstatement.close();

  12. }

然后在主方法内调用方法  如下:

 
  1. System.out.println("查询性别为woman的数据");

  2. mysqldemo1.man("nv");

输出结果如下:

e365f538a584456c912bd1e5f937e38a.png

 整体代码如下:

 
  1. package 第十七章;

  2.  
  3. import java.sql.Connection;

  4. import java.sql.DriverManager;

  5. import java.sql.PreparedStatement;

  6. import java.sql.ResultSet;

  7. import java.sql.SQLException;

  8.  
  9. import com.mysql.cj.jdbc.Driver;

  10. import com.mysql.cj.protocol.Resultset;

  11.  
  12. public class MysqlDemo1 {

  13. Connection connection;

  14. public static void main(String[] args) throws SQLException {

  15. // TODO Auto-generated method stub

  16. MysqlDemo1 mysqldemo1 = new MysqlDemo1();

  17. mysqldemo1.getConnection();

  18. System.out.println("查询人员数据,结果为:");

  19. mysqldemo1.selectAll();

  20. System.out.println("新增人员数据,结果为:");

  21. mysqldemo1.add(11, "lanyangyang"," 17923412644","nan");

  22. mysqldemo1.add(12, "meiyangyang"," 17977556644","nv");

  23. mysqldemo1.add(13, "feiyangyang"," 11971236644","nan");

  24. mysqldemo1.selectAll();

  25. System.out.println("查询182开头的数据,结果为:");

  26. mysqldemo1.obscure();//查询课程表中的数据

  27. mysqldemo1.selectAll();

  28. System.out.println("修改指定5位置上的电话号码");

  29. mysqldemo1.update(5,"13124235300");//修改该位置的数据

  30. mysqldemo1.selectAll();

  31. System.out.println("查询性别为nan的数据");

  32. mysqldemo1.man("nan");

  33. System.out.println("修改指定10位置上的名字");

  34. mysqldemo1.updatedate(10,"dashuaige");//修改该位置的数据

  35. mysqldemo1.selectAll();

  36. System.out.println("查询179开头的数据,结果为:");

  37. mysqldemo1.obscure1();//查询课程表中的数据

  38. mysqldemo1.selectAll();

  39. System.out.println("删除课程11,12,13");

  40. mysqldemo1.delete("11");//删除指定位置的数据

  41. mysqldemo1.delete("12");//删除指定位置的数据

  42. mysqldemo1.delete("13");//删除指定位置的数据

  43. mysqldemo1.selectAll();

  44. System.out.println("查询性别为woman的数据");

  45. mysqldemo1.man("nv");

  46. }

  47. public void woman(String name ) throws SQLException {

  48. PreparedStatement preparedstatement =connection.prepareStatement("select*from sudent where sex = ?;");

  49. preparedstatement.setString(1, name);

  50. ResultSet resultSet =preparedstatement.executeQuery() ;

  51. while(resultSet.next()) {

  52. System.out.print(resultSet.getInt("id")+" ");

  53. System.out.println(resultSet.getString("name"));

  54. System.out.println(resultSet.getString("tel"));

  55. System.out.println(resultSet.getString("sex"));

  56. }

  57. preparedstatement.close();

  58. }

  59. public void delete(String id) throws SQLException {//删除指定位置上的数据

  60. PreparedStatement preparedStatement = connection.prepareStatement("delete from sudent where id = ?;");

  61. preparedStatement.setString(1, id);//

  62. //第四步 :执行SQL语句

  63. preparedStatement.executeUpdate();

  64. //第六步关闭接连释放资源

  65. preparedStatement.close();

  66. }

  67. public void obscure1() throws SQLException {

  68. PreparedStatement preparedstatement=connection.prepareStatement("select*from sudent where tel like'179%';");

  69. ResultSet resultSet = preparedstatement.executeQuery();//executeQuery只能用来查询 //新增修改删除都是使用另一种e

  70. //第五步:遍历结果集

  71. while(resultSet.next()) {

  72. System.out.print(resultSet.getInt("id")+" ");

  73. System.out.println(resultSet.getString("name")+" ");

  74. System.out.println(resultSet.getString("tel")+" ");

  75. System.out.println(resultSet.getString("sex")+" ");

  76. }

  77. preparedstatement.close();

  78. }

  79. public void updatedate(int id,String name) throws SQLException {

  80. PreparedStatement preparedstatement =connection.prepareStatement("update sudent set name=? where id=? ; ");

  81. preparedstatement.setString(1, name);

  82. preparedstatement.setInt(2, id);

  83. //第四步: 执行SOL语句

  84. preparedstatement.executeUpdate();

  85. //第六步: 关闭连接释放资源

  86. preparedstatement.close();

  87. }

  88. public void man(String name ) throws SQLException {

  89. PreparedStatement preparedstatement =connection.prepareStatement("select*from sudent where sex = ?;");

  90. preparedstatement.setString(1, name);

  91. ResultSet resultSet =preparedstatement.executeQuery() ;

  92. while(resultSet.next()) {

  93. System.out.print(resultSet.getInt("id")+" ");

  94. System.out.println(resultSet.getString("name"));

  95. System.out.println(resultSet.getString("tel"));

  96. System.out.println(resultSet.getString("sex"));

  97. }

  98. preparedstatement.close();

  99. }

  100. public void update(int id,String tel) throws SQLException {//创建一个修改语句的修改类

  101. PreparedStatement preparedstatement =connection.prepareStatement("update sudent set tel=? where id=? ; ");//修改语句

  102. preparedstatement.setString(1, tel);//tel 电话

  103. preparedstatement.setInt(2, id);//id 序号

  104. //第四步: 执行SOL语句

  105. preparedstatement.executeUpdate();

  106. //第六步: 关闭连接释放资源

  107. preparedstatement.close();

  108. }

  109. public void obscure() throws SQLException {//创建模糊查询类

  110. PreparedStatement preparedStatement=connection.prepareStatement("select*from sudent where tel like'182%'");//使用的是mysql中的模糊查询语句

  111. ResultSet resultSet = preparedStatement.executeQuery();//executeQuery只能用来查询 //新增修改删除都是使用另一种e

  112. //第五步:遍历结果集

  113. while(resultSet.next()) {使用while循环来遍历表中四个类型

  114. System.out.print(resultSet.getInt("id")+" ");//id 序号

  115. System.out.println(resultSet.getString("name"));//name 名字

  116. System.out.println(resultSet.getString("tel"));//tel //电话

  117. System.out.println(resultSet.getString("sex"));//sex //性别

  118. }

  119. }

  120. public void add(int id ,String name,String tel , String sex) throws SQLException {//add添加类

  121. PreparedStatement preparedStatement=connection.prepareStatement("insert into sudent values (?,?,?,?);");//向mysql数据库中指定的sudent表中添加数据

  122. preparedStatement.setInt(1, id);//添加id 序号

  123. preparedStatement.setString(2,name);//添加name//名字

  124. preparedStatement.setString(3,tel);//添加电话

  125. preparedStatement.setString(4,sex);//添加性别

  126. preparedStatement.executeUpdate();

  127. //第六步关闭接连释放资源

  128. preparedStatement.close();

  129. }

  130. public void getConnection () throws SQLException{

  131. //第一步注册驱动

  132. DriverManager.registerDriver(new Driver());//注册驱动

  133. //第二步获取连接

  134. connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/school_java","root","1234");//使java连接mysql数据库然后连接本地服务器 指定数据库和账号密码

  135. }

  136. public void selectAll() throws SQLException {//查询类 查询数据表中的数据

  137. //第三步:获取statement对象

  138. PreparedStatement preparedStatement=connection.prepareStatement("select * from sudent;");//查询语句

  139. //第四步:执行SQL语句返回结果集

  140. ResultSet resultSet = preparedStatement.executeQuery();//executeQuery只能用来查询 新增修改删除都是使用另一种executeUpdate

  141. //第五步:遍历结果集

  142. while(resultSet.next()) {//while循环数据库中的四个类型 id name tel sex 分别是 序列 名字 电话号码 和性别

  143. System.out.print(resultSet.getInt("id")+" ");

  144. System.out.println(resultSet.getString("name"));

  145. System.out.println(resultSet.getString("tel"));

  146. System.out.println(resultSet.getString("sex"));

  147. }

  148. //第六步:关闭连接释放资源

  149. resultSet.close();//关闭连接释放资源

  150. preparedStatement.close();

  151.  
  152. }

  153. public void close() throws SQLException {

  154. connection.close();//最后关闭连接释放资源

  155. }

  156. }

 以上内容就是本小节的学习知识 ,主要就是abcd 前四题有点难度 后面的全部都是跟前四题一样的题目 只需要改一点点内容就好 

你可能感兴趣的:(java)