ssm中使用Mybatis
时间: 2023-10-24 15:20:26 浏览: 54
在SSM框架中使用MyBatis需要进行以下几个步骤:
1. 引入MyBatis和MyBatis-Spring的依赖包
在Maven项目中,可以在pom.xml文件中添加以下依赖:
```
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>{mybatis-version}</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>{mybatis-spring-version}</version>
</dependency>
```
2. 配置MyBatis
在Spring配置文件中,需要配置MyBatis的SqlSessionFactory和MapperScannerConfigurer,具体配置如下:
```
<!-- MyBatis SqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!-- 配置MyBatis全局配置文件 -->
<property name="configLocation" value="classpath:mybatis-config.xml"/>
</bean>
<!-- MyBatis MapperScannerConfigurer -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="{mapper-package}"/>
</bean>
```
其中,{mapper-package}是指定Mapper接口所在的包名。
3. 编写Mapper接口和Mapper XML文件
在MyBatis中,Mapper接口用于定义数据库操作,Mapper XML文件用于实现具体的SQL语句。例如,定义一个UserMapper接口,其对应的Mapper XML文件如下:
```
<!-- UserMapper.xml -->
<mapper namespace="com.example.UserMapper">
<!-- 查询所有用户 -->
<select id="getAllUsers" resultType="com.example.User">
SELECT * FROM users
</select>
<!-- 根据ID查询用户 -->
<select id="getUserById" parameterType="int" resultType="com.example.User">
SELECT * FROM users WHERE id = #{id}
</select>
<!-- 添加用户 -->
<insert id="addUser" parameterType="com.example.User">
INSERT INTO users(name, age) VALUES(#{name}, #{age})
</insert>
<!-- 根据ID删除用户 -->
<delete id="deleteUserById" parameterType="int">
DELETE FROM users WHERE id = #{id}
</delete>
<!-- 更新用户信息 -->
<update id="updateUser" parameterType="com.example.User">
UPDATE users SET name = #{name}, age = #{age} WHERE id = #{id}
</update>
</mapper>
```
4. 在Service中调用Mapper接口
在Service中注入Mapper接口的实例,即可调用Mapper接口中定义的方法进行数据库操作。例如,定义一个UserService接口,其实现类如下:
```
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public List<User> getAllUsers() {
return userMapper.getAllUsers();
}
@Override
public User getUserById(int id) {
return userMapper.getUserById(id);
}
@Override
public void addUser(User user) {
userMapper.addUser(user);
}
@Override
public void deleteUserById(int id) {
userMapper.deleteUserById(id);
}
@Override
public void updateUser(User user) {
userMapper.updateUser(user);
}
}
```
以上就是在SSM框架中使用MyBatis的基本步骤。