第十七章数据库操作

第十七章数据库操作_第1张图片 数据库基础  和JDBC概论和常用类和接口就不过多的说了  直接来到 数据库的操作 一开始是在数据库中插入了四个类型  两个int  两个varchar类型   再分别插入  名字   序号   号码   性别   然后再在java中操作增删改查 这几个操作  全部代码如下

 

 
  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.  
  11. public class MysqlDemo1 {

  12. Connection connection;

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

  14. // TODO Auto-generated method stub

  15. MysqlDemo1 mysqldemo1 = new MysqlDemo1();//new对象 调用方法

  16. mysqldemo1.getConnection();

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

  18. mysqldemo1.selectAll();

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

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

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

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

  23. mysqldemo1.selectAll();

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

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

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

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

  28. mysqldemo1.selectAll();

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

  30. mysqldemo1.man("nan");

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

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

  33. mysqldemo1.selectAll();

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

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

  36. mysqldemo1.selectAll();

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

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

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

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

  41. mysqldemo1.selectAll();

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

  43. mysqldemo1.man("nv");

  44. }

  45. public void woman(String name ) throws SQLException {//查询性别为女的数据

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

  47. preparedstatement.setString(1, name);

  48. ResultSet resultSet =preparedstatement.executeQuery() ;

  49. while(resultSet.next()) {

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

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

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

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

  54. }

  55. preparedstatement.close();

  56. }

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

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

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

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

  61. preparedStatement.executeUpdate();

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

  63. preparedStatement.close();

  64. }

  65. public void obscure1() throws SQLException {//查询号码为179开头的号码

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

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

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

  69. while(resultSet.next()) {

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

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

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

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

  74. }

  75. preparedstatement.close();

  76. }

  77. public void updatedate(int id,String name) throws SQLException {//修改指定位置上的数据

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

  79. preparedstatement.setString(1, name);

  80. preparedstatement.setInt(2, id);

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

  82. preparedstatement.executeUpdate();

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

  84. preparedstatement.close();

  85. }

  86. public void man(String name ) throws SQLException {//查询性别为男的数据

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

  88. preparedstatement.setString(1, name);

  89. ResultSet resultSet =preparedstatement.executeQuery() ;

  90. while(resultSet.next()) {

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

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

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

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

  95. }

  96. preparedstatement.close();

  97. }

  98. public void update(int id,String tel) throws SQLException {//修改指定位置上的号码

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

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

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

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

  103. preparedstatement.executeUpdate();

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

  105. preparedstatement.close();

  106. }

  107. public void obscure() throws SQLException {//使用mysql模糊查询来查询以182开头的数据

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

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

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

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

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

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

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

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

  116. }

  117. }

  118. public void add(int id ,String name,String tel , String sex) throws SQLException {//add添加数据

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

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

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

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

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

  124. preparedStatement.executeUpdate();

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

  126. preparedStatement.close();

  127. }

  128. public void getConnection () throws SQLException{//注册驱动 连接mysql数据库 并遍历出表中的数据

  129. //第一步注册驱动

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

  131. //第二步获取连接

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

  133. }

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

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

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

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

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

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

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

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

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

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

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

  145. }

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

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

  148. preparedStatement.close();

  149.  
  150. }

  151. public void close() throws SQLException {

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

  153. }

  154. }

 全部代码如上所示  接下来是详细的讲解

连接数据库  

主要是分为六个部分

 
  1. 第一步注册驱动

  2. 第二步获取连接

  3. 第三步:获取statement对象

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

  5. 第五步:遍历结果集

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

然后呢 代码和注解如下

 
  1. public void getConnection () throws SQLException{//注册驱动 连接mysql数据库 并遍历出表中的数据

  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. }

以上代码是 让java连接数据 然后遍历出指定的表中的内容  然后再主函数中new一个对象然后调用该方法就可以输出表中的内容  

模糊查询 

再是使用mysql数据库中的模糊查询  达到输入开头的号码如:182来查询号码182开头的号码的员工

代码如下

 

 
  1. public void obscure() throws SQLException {//使用mysql模糊查询来查询以182开头的数据

  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. }

然后再主函数中调用该方法就可以打印输出了

增删改

增删改都是使用mysql数据库中的语句   

主要如下 代码注解

 
  1. 删除

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

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

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

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

  6. preparedStatement.executeUpdate();

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

  8. preparedStatement.close();

  9. }

  10. 修改

  11. public void updatedate(int id,String name) throws SQLException {//修改指定位置上的数据

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

  13. preparedstatement.setString(1, name);

  14. preparedstatement.setInt(2, id);

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

  16. preparedstatement.executeUpdate();

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

  18. preparedstatement.close();

  19. }

  20. 添加

  21. public void add(int id ,String name,String tel , String sex) throws SQLException {//add添加数据

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

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

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

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

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

  27. preparedStatement.executeUpdate();

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

  29. preparedStatement.close();

  30. }

然后再在主函数中调用就好了  

你可能感兴趣的:(java)