zoukankan      html  css  js  c++  java
  • java-jdbc-mysql:实现数据库表的增删改查

    以数据库test下数据表student(sno,sname,ssex,sage,sdept)为例:

    student表中的已有的所有记录:

    Java代码对表test.student的操作:

    创建student类,包含String sno,String sname,String ssex,int sage,String sdept:

     1 package jdbcTest;
     2 
     3 public class Student {
     4     private String sno,sname,ssex,sdept;  //学号,姓名,性别,部门
     5     private int sage;  //年龄
     6     
     7     public Student(){}
     8     
     9     public Student(String sno,String sname,String sex,String dept,int age){
    10         this.sno = sno;
    11         this.sname = sname;
    12         this.ssex = sex;
    13         this.sdept=dept;
    14         this.sage = age;
    15     }
    16     
    17     public void setSno(String sno){
    18         this.sno = sno;
    19     }
    20     
    21     public String getSno(){
    22         return this.sno;
    23     }
    24     
    25     public void setSname(String sname){
    26         this.sname = sname;
    27     }
    28     
    29     public String getSname(){
    30         return this.sname;
    31     }
    32     
    33     public void setSsex(String sex){
    34         this.ssex = sex;
    35     }
    36     
    37     public String getSsex(){
    38         return this.ssex;
    39     }
    40     
    41     public void setSdept(String dept){
    42         this.sdept = dept;
    43     }
    44     
    45     public String getSdept(){
    46         return this.sdept;
    47     }
    48     
    49     public void setSage(int age){
    50         this.sage = age;
    51     }
    52     
    53     public int getSage(){
    54         return this.sage;
    55     }
    56     
    57     public String toString(){
    58         return this.sno+" "+this.sname+" "+this.ssex+" "+this.sage+" "+this.sdept;
    59     }
    60 }

    创建StudentDA类,用于数据库连接、操作数据库:

      1 package jdbcTest;
      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 import java.sql.Statement;
      9 import java.util.ArrayList;
     10 import java.util.List;
     11 
     12 public class StudentDA {
     13     String driverName = "com.mysql.jdbc.Driver"; // 加载JDBC驱动
     14     String dbURL = "jdbc:mysql://localhost:3306/test"; // 连接服务器和数据库sample
     15     String userName = "test"; // 数据库用户名
     16     String userPwd = "test"; // 数据库密码
     17     static Connection dbConn = null;  //连接信息
     18     Statement statement;   //sql语句
     19     PreparedStatement pstatement;
     20     ResultSet rs;      //结果集
     21     
     22     //数据库连接
     23     public Connection dBConnection(){
     24         try {
     25             Class.forName(driverName);
     26             dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
     27             System.out.println("Connection Succeed!");             
     28         } catch (Exception e) {
     29             System.out.println("Connection failed!");
     30             e.printStackTrace();
     31         }
     32         return dbConn;
     33     }
     34     
     35     //查询记录,将查询结果放在list中
     36     public List<Student> selectAllStudent(){
     37         List<Student> studentList = new ArrayList<Student>(); //存放查询结果
     38         String sql = "select * from student"; 
     39         
     40         try{
     41             statement = dbConn.createStatement();
     42             rs = statement.executeQuery(sql);  //执行sql语句并返回结果集
     43             while (rs.next()) {
     44                 Student student = new Student();
     45                 student.setSno(rs.getString("sno"));
     46                 student.setSname(rs.getString("sname"));
     47                 student.setSsex(rs.getString("ssex"));
     48                 student.setSdept(rs.getString("sdept"));
     49                 student.setSage(rs.getInt("sage"));
     50                 studentList.add(student);  //将查询出的student信息放入studentList链表中
     51             }  
     52         }catch(Exception e){
     53             e.printStackTrace();
     54         }
     55 /*        finally{
     56             try {
     57                 statement.close();
     58                 dbConn.close();
     59             } catch (SQLException e) {
     60                 // TODO Auto-generated catch block
     61                 e.printStackTrace();
     62             }
     63         }*/
     64         return studentList;        
     65     }
     66     
     67     //插入一个学生记录,如果插入成功,返回true
     68     public boolean insertStudent(Student stu){
     69         int i = 0; 
     70         String sqlInset = "insert into test.student(sno,sname,ssex,sage,sdept)" +
     71     " values(?, ?, ?, ?,?)";   //插入语句
     72          
     73          try {
     74             pstatement = dbConn.prepareStatement(sqlInset);
     75             pstatement.setString(1, stu.getSno()); //设置SQL语句第一个“?”的值
     76             pstatement.setString(2,stu.getSname());
     77             pstatement.setString(3,stu.getSsex());
     78             pstatement.setInt(4, stu.getSage());
     79             pstatement.setString(5,stu.getSdept());
     80             i = pstatement.executeUpdate();  //执行插入数据操作,返回影响的行数
     81             if(i == 1){       //如果插入数据成功,则影响的行数为1
     82                 return true;
     83             }
     84         } catch (SQLException e) {
     85             // TODO Auto-generated catch block
     86             e.printStackTrace();
     87         }
     88         return false;
     89     }
     90     
     91     //根据sno删除记录
     92     public boolean deleteStudent(String sno){
     93         int i = 0; 
     94         String sqlDelete = "delete from test.student where sno = " + sno; 
     95         
     96         try {
     97             pstatement = dbConn.prepareStatement(sqlDelete);
     98             i = pstatement.executeUpdate();  //执行删除数据操作,返回影响的行数
     99             if(i == 1){       //如果删除数据成功,则影响的行数为1
    100                 return true;
    101             }
    102         } catch (SQLException e) {
    103             // TODO Auto-generated catch block
    104             e.printStackTrace();
    105         }
    106         return false;
    107     }
    108     
    109     //删除所有的记录
    110     public void deleteAll(){
    111         String sqlDeleteAll = "delete from student";
    112         try {
    113             pstatement = dbConn.prepareStatement(sqlDeleteAll);
    114         } catch (SQLException e) {
    115             // TODO Auto-generated catch block
    116             e.printStackTrace();
    117         }
    118     }
    119     
    120     //根据学号sno,更新学生年龄sage
    121     public boolean updateStudent(String sno,int age){
    122         int i =0;
    123         String sqlUpdate = "update test.student set sage=? where sno=?";
    124         try {
    125             pstatement = dbConn.prepareStatement(sqlUpdate);
    126             pstatement.setInt(1,age); //设置SQL语句第一个"?"的参数值
    127             pstatement.setString(2, sno); 
    128             i = pstatement.executeUpdate(); //执行修改操作,返回影响的行数
    129             if(i == 1){          //修改成功返回true
    130                 return true;
    131             }
    132         } catch (SQLException e) {
    133             // TODO Auto-generated catch block
    134             e.printStackTrace();
    135         }    
    136         return false;        
    137     }
    138 
    139     //测试增删改查
    140     public static void main(String args[]){
    141         StudentDA stuDA = new StudentDA();
    142         dbConn = stuDA.dBConnection(); 
    143         //测试查询
    144         System.out.println("测试----查询所有记录 ");
    145         List<Student> stuList = stuDA.selectAllStudent();
    146         for(Student stu:stuList){
    147             System.out.println(stu.toString());
    148         }
    149 
    150 /*        //测试插入
    151         System.out.println("测试----插入一条记录 ");
    152         Student stu = new Student("200215334","test2","男","CS",25);
    153         if(stuDA.insertStudent(stu)){
    154             System.out.println("插入成功");
    155         }else{
    156             System.out.println("插入失败");
    157         }
    158         
    159         //测试根据sno删除记录
    160         if(stuDA.deleteStudent("200215334")){
    161             System.out.println("删除成功");
    162         }else{
    163             System.out.println("删除失败");
    164         }
    165         
    166         //测试更新
    167         if(stuDA.updateStudent("200215333", 33)){
    168             System.out.println("更新成功");
    169         }else{
    170             System.out.println("更新失败");
    171         }*/
    172     }
    173 }
  • 相关阅读:
    Java下载execl表格
    ajax请求下载Execl表
    Spring Boot2.4双数据源的配置
    使用nginx对spring boot项目进行代理
    spring mvc中几种获取request对象的方式
    做开发十年,我总结一些开发经验
    linux基础指令以及权限管理
    ArrayList调用remove(int index)抛出UnsupportedOperationException问题分析以及解决记录
    ubuntu16.06+vsftpd+nginx搭建图片服务器
    RPC框架基础概念理解以及使用初体验
  • 原文地址:https://www.cnblogs.com/CherishFX/p/4442571.html
Copyright © 2011-2022 走看看