java面向对象高级分层实例_数据库操作类

简介: java面向对象高级分层实例_数据库操作类
package bdqn.studentSys.Dao.impl;
/***
 * 学生表的数据库操作类
 */
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import bdqn.studentSys.Dao.BaseDao;
import bdqn.studentSys.Dao.StudentDao;
import bdqn.studentSys.entity.Student;
public class StudentDaoImpl extends BaseDao implements StudentDao {
  
  //查询全部
  public List<Student> getAllStudent() {
    // TODO Auto-generated method stub
    List<Student> studentlist=new ArrayList<Student>();
    String sql="select * from Student";
    try {
      ResultSet rs=executeQurey(sql, null);
      while(rs.next()){
        Student stu=new Student();
        stu.setName(rs.getString(1));
        stu.setPwd(rs.getString(2));
        stu.setAge(rs.getInt(3));
        stu.setSex(rs.getString(4));
        studentlist.add(stu);
      }
    } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }finally{
      closeAll();
    }
    return studentlist;
  }
  //修改
  public int UpdateStudent(Student stu) {
    // TODO Auto-generated method stub
    int rel=0;
    String sql="update Student set name=?,pwd=?,age=?,sex=? where stuno=?";
    Object[]prams={stu.getName(),stu.getPwd(),stu.getAge(),stu.getSex(),stu.getStuno()};
    try {
      rel=executeUpdate(sql, prams);
    } catch (SQLException e) {
      e.printStackTrace();
    }finally{
      closeAll();
    }
    return rel;
  }
  //添加
  public int addStudent(Student stu) {
    int rel=0;
    String sql="insert Student (name,pwd,age,sex) values(?,?,?,?)";
    Object []prams={stu.getName(),stu.getPwd(),stu.getAge(),stu.getSex()};
    try {
      rel=executeUpdate(sql, prams);
    } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }finally{
      closeAll();
    }
    
    return rel;
  }
  //删除
  public int delStudent(int stuno) {
    int rel=0;
    String sql="delete from Student where studentno=?";
    Object[]prams={stuno};
    try {
      rel=executeUpdate(sql, prams);
    } catch (SQLException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }finally{
      closeAll();
    }
    return rel;
  }
}


目录
相关文章
|
6天前
|
Java 编译器 ice
【Java开发指南 | 第十五篇】Java Character 类、String 类
【Java开发指南 | 第十五篇】Java Character 类、String 类
27 1
|
4天前
|
自然语言处理 Java API
Java 8的Stream API和Optional类:概念与实战应用
【5月更文挑战第17天】Java 8引入了许多重要的新特性,其中Stream API和Optional类是最引人注目的两个。这些特性不仅简化了集合操作,还提供了更好的方式来处理可能为空的情况,从而提高了代码的健壮性和可读性。
26 7
|
6天前
|
Java
【Java开发指南 | 第十四篇】Java Number类及Math类
【Java开发指南 | 第十四篇】Java Number类及Math类
17 1
|
2天前
|
存储 NoSQL MongoDB
使用mongodb数据库实例
【5月更文挑战第9天】MongoDB中的集合类似关系数据库的表,但不强制模式,允许嵌入式文档以实现更灵活的数据布局。安装MongoDB在Ubuntu上涉及添加源列表和更新,CentOS则需创建配置文件。MongoDB支持备份和恢复,以及全文搜索。其灵活模式和动态模式减少了开发中的复杂性,但并非无模式,大部分数据仍具结构化特点。
81 2
|
2天前
|
安全 Java 容器
Java一分钟之-并发编程:线程安全的集合类
【5月更文挑战第19天】Java提供线程安全集合类以解决并发环境中的数据一致性问题。例如,Vector是线程安全但效率低;可以使用Collections.synchronizedXxx将ArrayList或HashMap同步;ConcurrentHashMap是高效线程安全的映射;CopyOnWriteArrayList和CopyOnWriteArraySet适合读多写少场景;LinkedBlockingQueue是生产者-消费者模型中的线程安全队列。注意,过度同步可能影响性能,应尽量减少共享状态并利用并发工具类。
17 2
|
3天前
|
存储 缓存 NoSQL
NoSQL缓存数据库的使用场景实例和命令速查表
【5月更文挑战第8天】Redis 是一个内存数据结构服务,用 C 编写,支持五种数据结构,不仅限于键值对。它用于缓存、消息队列、订阅/发布系统等,提供持久化、主从复制和集群支持。了解其核心数据结构和应用场景是有效利用 Redis 的关键。
55 3
NoSQL缓存数据库的使用场景实例和命令速查表
|
5天前
|
设计模式 算法 Java
Java的前景如何,好不好自学?,万字Java技术类校招面试题汇总
Java的前景如何,好不好自学?,万字Java技术类校招面试题汇总
|
5天前
|
Java 关系型数据库 MySQL
MySql数据库级别MD5加密java MD5加密解密工具包
MySql数据库级别MD5加密java MD5加密解密工具包
|
6天前
|
SQL Java 数据库连接
Java一分钟之-JDBC:Java数据库连接基础
【5月更文挑战第14天】JDBC是Java与关系数据库交互的API,常见问题包括资源管理、SQL注入和性能优化。易错点涉及驱动加载、空指针异常和事务管理。避免这些问题的方法有使用try-with-resources自动关闭资源、预编译PreparedStatement以防止SQL注入,以及正确管理事务。示例代码展示了基本的JDBC连接和查询。在实际开发中,推荐使用ORM框架如Hibernate或JPA来简化数据库操作。
15 1
|
6天前
|
安全 Java 开发者
Java一分钟之-文件与目录操作:Path与Files类
【5月更文挑战第13天】Java 7 引入`java.nio.file`包,`Path`和`Files`类提供文件和目录操作。`Path`表示路径,不可变。`Files`包含静态方法,支持创建、删除、读写文件和目录。常见问题包括:忽略异常处理、路径解析错误和权限问题。在使用时,注意异常处理、正确格式化路径和考虑权限,以保证代码稳定和安全。结合具体需求,这些方法将使文件操作更高效。
11 2