简介
SpringMVC是一个基于MVC模式的Web框架,而Mybatis是一个优秀的持久层框架。将它们整合在一起,可以很方便地实现Web应用程序的开发。本文将介绍如何使用SpringMVC整合Mybatis,并提供两个示例说明。
环境搭建
在开始之前,我们需要先搭建好开发环境。以下是环境搭建的步骤:
- 安装Java JDK和Maven。
- 创建一个Maven项目。
- 在
pom.xml
文件中添加SpringMVC和Mybatis的依赖。 - 配置SpringMVC和Mybatis的配置文件。
配置文件
以下是一个SpringMVC和Mybatis的配置文件的示例。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:mybatis="http://mybatis.org/schema/mybatis-spring"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://mybatis.org/schema/mybatis-spring
http://mybatis.org/schema/mybatis-spring-1.3.xsd">
<context:component-scan base-package="com.example"/>
<mvc:annotation-driven/>
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:mybatis-config.xml"/>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.mapper"/>
</bean>
</beans>
在上面的示例中,我们使用<context:component-scan>
标签扫描com.example
包中的组件。我们还使用<mvc:annotation-driven>
标签启用SpringMVC的注解驱动。我们定义了一个名为dataSource
的Bean,它使用org.apache.commons.dbcp2.BasicDataSource
类作为数据源。我们还定义了一个名为sqlSessionFactory
的Bean,它使用org.mybatis.spring.SqlSessionFactoryBean
类作为Mybatis的SqlSessionFactory。最后,我们使用<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
标签将com.example.mapper
包中的所有Mapper注册到Spring容器中。
以下是一个Mybatis的配置文件的示例。
<configuration>
<typeAliases>
<package name="com.example.model"/>
</typeAliases>
<mappers>
<mapper resource="com/example/mapper/UserMapper.xml"/>
</mappers>
</configuration>
在上面的示例中,我们使用<typeAliases>
标签将com.example.model
包中的所有类都注册为Mybatis的类型别名。我们还使用<mappers>
标签将com.example.mapper.UserMapper.xml
文件注册为Mybatis的Mapper。
示例1:查询用户列表
以下是一个查询用户列表的示例。
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> getUsers() {
return userMapper.getUsers();
}
}
@Repository
public interface UserMapper {
List<User> getUsers();
}
@Controller
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/users")
public String getUsers(Model model) {
List<User> users = userService.getUsers();
model.addAttribute("users", users);
return "users";
}
}
在上面的示例中,我们创建了一个名为UserService
的服务类和一个名为UserMapper
的Mapper接口。在UserService
中,我们注入了UserMapper
对象,并定义了一个getUsers
方法,它使用UserMapper
对象从数据库中获取用户列表。在UserMapper
中,我们定义了一个getUsers
方法,它使用Mybatis的SQL语句从数据库中获取用户列表。在UserController
中,我们注入了UserService
对象,并定义了一个getUsers
方法,它使用UserService
从数据库中获取用户列表,并将其添加到模型中。最后,我们返回一个名为users
的JSP视图。
示例2:添加用户
以下是一个添加用户的示例。
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public void addUser(User user) {
userMapper.addUser(user);
}
}
@Repository
public interface UserMapper {
void addUser(User user);
}
@Controller
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/addUser")
public String addUserForm(Model model) {
model.addAttribute("user", new User());
return "addUser";
}
@PostMapping("/addUser")
public String addUserSubmit(@ModelAttribute User user) {
userService.addUser(user);
return "redirect:/users";
}
}
在上面的示例中,我们创建了一个名为UserService
的服务类和一个名为UserMapper
的Mapper接口。在UserService
中,我们注入了UserMapper
对象,并定义了一个addUser
方法,它使用UserMapper
对象将用户添加到数据库中。在UserMapper
中,我们定义了一个addUser
方法,它使用Mybatis的SQL语句将用户添加到数据库中。在UserController
中,我们注入了UserService
对象,并定义了一个addUserForm
方法,它返回一个名为addUser
的JSP视图,该视图包含一个表单,用户可以在其中输入用户信息。我们还定义了一个addUserSubmit
方法,它使用@ModelAttribute
注解将表单数据绑定到User
对象上,并使用UserService
对象将用户添加到数据库中。最后,我们重定向到名为users
的JSP视图。
总结
本文介绍了如何使用SpringMVC整合Mybatis,并提供了两个示例说明。我们首先搭建了开发环境,然后配置了SpringMVC和Mybatis的配置文件。最后,我们提供了两个示例,分别演示了如何查询用户列表和添加用户。通过本文的介绍,我们可以了解到如何使用SpringMVC整合Mybatis。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringMVC整合mybatis实例代码 - Python技术站