操作数据库的basedao抽象类
时间: 2023-08-15 22:53:26 浏览: 165
BaseDao是一个抽象类,用于封装数据库的基本操作。它提供了常用的增删改查方法,例如insert、update、delete、select等。BaseDao还提供了一些常见的数据库连接方法,例如getConnection、closeConnection等,以及一些常用的事务处理方法,例如beginTransaction、commit、rollback等。通过继承BaseDao,我们可以简化数据库操作的代码,并提高代码的可维护性和重用性。
相关问题
抽象类调用实现类方法,事务注解会不会失效
在Java中,当使用抽象类调用其子类(实现类)的方法时,并不会影响到事务注解(如@Transactional)。事务注解通常用于控制方法级别的数据库操作是否应该在一个事务上下文中执行,这个注解是在方法层面起作用的,而不是依赖于具体的类或对象。
例如:
```java
abstract class BaseDAO {
@Transactional
public abstract void save(User user);
}
class UserRepository extends BaseDAO {
@Override
public void save(User user) {
// 这里会受到@Transactional的影响,无论实例化的是BaseDAO还是UserRepository
// 执行保存操作的同时,事务管理框架会自动开始和结束事务
}
}
```
在这个例子中,`BaseDAO`是抽象类,`UserRepository`是其实现类。虽然`save`方法是在抽象类中声明并带有`@Transactional`的,但是当在`UserRepository`中实际调用时,该注解仍然有效。
baseDAO 使用
BaseDAO是一个通用的数据操作类,可以方便地对数据库进行增删改查操作。使用BaseDAO有以下几个步骤:
1. 定义实体类
首先需要定义与数据库表对应的实体类,实体类中的属性需要与表中的字段一一对应。
2. 继承BaseDAO类
定义DAO类并继承BaseDAO类,指定实体类和主键类型。例如:
```java
public class UserDao extends BaseDAO<User, Long> {
// ...
}
```
3. 编写SQL语句
在DAO类中编写SQL语句,可以使用预编译语句,也可以使用MyBatis等ORM框架。
4. 调用方法进行操作
使用BaseDAO提供的方法进行数据操作,例如:
```java
UserDao userDao = new UserDao();
List<User> userList = userDao.queryAll();
User user = userDao.queryById(1L);
user.setName("张三");
userDao.update(user);
userDao.deleteById(1L);
```
BaseDAO还提供了一些其他的方法,例如分页查询、批量插入等,具体可以查看文档或源码。
阅读全文