spring整合mybatis操控数据库
时间: 2023-07-22 14:35:05 浏览: 47
Spring 整合 MyBatis 操控数据库可以通过以下步骤完成:
1. 配置数据源:在 Spring 的配置文件中配置数据源,例如:
```
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/test" />
<property name="username" value="root" />
<property name="password" value="password" />
</bean>
```
2. 配置 MyBatis:在 Spring 的配置文件中配置 MyBatis,例如:
```
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="typeAliasesPackage" value="com.example.model" />
<property name="mapperLocations" value="classpath:mapper/*.xml" />
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.mapper" />
</bean>
```
3. 编写 Mapper:创建 Mapper 接口并编写 SQL 语句,例如:
```
public interface UserMapper {
@Select("SELECT * FROM user WHERE id = #{id}")
User findById(Long id);
@Insert("INSERT INTO user (name, age) VALUES (#{name}, #{age})")
int insert(User user);
@Update("UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}")
int update(User user);
@Delete("DELETE FROM user WHERE id = #{id}")
int delete(Long id);
}
```
4. 注入 Mapper:在 Service 层中注入 Mapper 并调用相应方法,例如:
```
@Autowired
private UserMapper userMapper;
public User findById(Long id) {
return userMapper.findById(id);
}
public int insert(User user) {
return userMapper.insert(user);
}
public int update(User user) {
return userMapper.update(user);
}
public int delete(Long id) {
return userMapper.delete(id);
}
```
完成以上步骤后,就可以通过 Service 层的方法操控数据库了。例如:
```
User user = userService.findById(1L);
System.out.println(user.getName());
User newUser = new User();
newUser.setName("Tom");
newUser.setAge(20);
userService.insert(newUser);
newUser.setAge(30);
userService.update(newUser);
userService.delete(2L);
```
这样就可以查询、新增、修改和删除数据库中的数据了。