在spring框架与mybatis的整合中,SM编程(Spring + MyBatis)是一种常见的DAO层开发方式。下面是一个简单
在spring框架与mybatis的整合中,SM编程(Spring + MyBatis)是一种常见的DAO层开发方式。
下面是一个简单的示例:
首先,确保已经正确配置了Spring框架和MyBatis。
1. 创建DAO接口:在DAO层定义一个接口,用于声明数据访问操作的方法。例如,创建一个`UserDao`接口:
```java
public interface UserDao {
User getUserById(int id);
List<User> getAllUsers();
void addUser(User user);
void updateUser(User user);
void deleteUser(int id);
}
```
2. 创建DAO接口的实现类:实现上述接口,并使用MyBatis来执行相应的sql语句。例如,创建一个`UserDaoImpl`类:
```java
@Repository
public class UserDaoImpl implements UserDao {
@Autowired
private SqlSessionFactory sqlSessionFactory;
@Override
public User getUserById(int id) {
try (SqlSession session = sqlSessionFactory.openSession()) {
return session.selectOne("getUserById", id);
}
}
@Override
public List<User> getAllUsers() {
try (SqlSession session = sqlSessionFactory.openSession()) {
return session.selectList("getAllUsers");
}
}
@Override
public void addUser(User user) {
try (SqlSession session = sqlSessionFactory.openSession()) {
session.insert("addUser", user);
session.commit();
}
}
@Override
public void updateUser(User user) {
try (SqlSession session = sqlSessionFactory.openSession()) {
session.update("updateUser", user);
session.commit();
}
}
@Override
public void deleteUser(int id) {
try (SqlSession session = sqlSessionFactory.openSession()) {
session.delete("deleteUser", id);
session.commit();
}
}
}
```
3. 配置MyBatis的Mapper文件:在resources目录下创建一个与DAO接口相对应的Mapper XML文件(例如
`UserMapper.xml`),并定义SQL语句。示例:
```xml
<mapper namespace="com.example.dao.UserDao">
<select id="getUserById" resultType="com.example.entity.User">
SELECT * FROM users WHERE id = #{id}
</select>
<select id="getAllUsers" resultType="com.example.entity.User">
SELECT * FROM users
</select>
<insert id="addUser" parameterType="com.example.entity.User">
INSERT INTO users (name, email) VALUES (#{name}, #{email})
</insert>
<update id="updateUser" parameterType="com.example.entity.User">
UPDATE users SET name = #{name}, email = #{email} WHERE id = #{id}
</update>
<delete id="deleteUser" parameterType="int">
DELETE FROM users WHERE id = #{id}
</delete>
</mapper>
```
4. 配置Spring的Bean:在Spring配置文件中,将`UserDaoImpl`注入为一个Bean,并配置MyBatis的相关设置。示例:
```xml
<bean id="userDao" class="com.example.dao.UserDaoImpl">
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations" value="classpath*:com/example/mappers/*.xml" />
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!-- 设置数据库相关配置 -->
</bean>
```
通过以上步骤,你就可以在应用中使用`UserDao`接口的实现类进行数据库访问操作了,同时Spring和MyBatis会进行整合
并提供事务管理等功能。
--结束END--
本文标题: spring框架与mybatis的整合之SM编程DAO层开发
本文链接: https://lsjlt.com/news/420693.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0