java entity、dao、bean的区别
时间: 2024-01-31 17:01:43 浏览: 27
在Java中,Entity、DAO和Bean是三个不同的概念。
1. Entity: 实体类通常用来描述数据库中的表,每个实体类对应着数据库中的一张表,每个实体类的属性对应着表中的字段。
2. DAO: DAO(Data Access Object)是数据访问对象,它是一个接口,提供了一些方法,用于对数据库进行增删改查等操作,它是用来解耦业务逻辑和数据访问的。
3. Bean: Bean是一种Java类,它通常用来封装一些数据,这些数据可以是来自于数据库、文件、网络等。Bean通常包含一个无参构造方法、一些属性和对应的getter和setter方法。
总之,Entity是用来描述数据库中的表,DAO是用来访问数据库的接口,Bean是用来封装数据的Java类。它们三者在Java应用程序中都有着不同的作用。
相关问题
springboot dao
Spring Boot 中的 DAO(Data Access Object)主要是用于与数据库进行交互,通过 DAO 对象可以实现对数据库的增删改查等操作。下面是一个简单的 Spring Boot DAO 实现示例:
1. 创建实体类
```java
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private Integer age;
// 省略getter和setter方法
}
```
2. 创建 DAO 接口
```java
public interface UserDao extends JpaRepository<User, Long> {
User findByName(String name);
}
```
3. 创建 DAO 实现类
```java
@Repository
public class UserDaoImpl implements UserDao {
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public User findByName(String name) {
String sql = "SELECT * FROM user WHERE name = ?";
return jdbcTemplate.queryForObject(sql, new Object[]{name}, new BeanPropertyRowMapper<>(User.class));
}
}
```
在上述示例中,我们使用了 Spring Data JPA 提供的 JpaRepository 接口,它提供了一些常用的 CRUD 方法,如 save、delete、findAll 等。同时,我们也可以自定义一些方法,如通过名称查询用户的方法 findByName。
最后,我们在 DAO 实现类上标注 @Repository 注解,让 Spring Boot 自动扫描到该类并将其注册为 Bean 对象,从而可以在其他组件中注入该 DAO 对象。
ssm里dao的编写
在 SSM 框架中,DAO 层的编写一般遵循以下步骤:
1. 定义 DAO 接口:定义一个接口,声明 DAO 层需要实现的方法。
2. 编写 DAO 实现类:实现 DAO 接口中的方法,与数据库进行交互操作。
3. 创建 MyBatis 配置文件:在 MyBatis 配置文件中定义 DAO 接口的映射关系。
4. 注入 DAO 实现类:在 Spring 配置文件中使用 <bean> 标签注入 DAO 实现类的实例。
下面是一个简单的示例:
1. 定义 DAO 接口
```java
public interface UserDAO {
public User getUserById(int id);
}
```
2. 编写 DAO 实现类
```java
@Repository
public class UserDAOImpl implements UserDAO {
@Autowired
private SqlSession sqlSession;
public User getUserById(int id) {
return sqlSession.selectOne("UserMapper.getUserById", id);
}
}
```
3. 创建 MyBatis 配置文件
在 resources 目录下创建 mybatis-config.xml 文件,配置 DAO 接口与 SQL 映射关系:
```xml
<configuration>
<mappers>
<mapper resource="com/example/dao/UserMapper.xml"/>
</mappers>
</configuration>
```
在 resources 目录下创建 UserMapper.xml 文件,定义 SQL 语句:
```xml
<mapper namespace="com.example.dao.UserDAO">
<select id="getUserById" parameterType="int" resultType="com.example.entity.User">
select * from user where id = #{id}
</select>
</mapper>
```
4. 注入 DAO 实现类
在 Spring 配置文件中使用 <bean> 标签注入 DAO 实现类的实例:
```xml
<bean id="userDAO" class="com.example.dao.UserDAOImpl">
<property name="sqlSession" ref="sqlSession"/>
</bean>
```
以上是一个简单的 SSM 中 DAO 层的编写示例。在实际项目中,还需要考虑事务管理、异常处理等问题。