下面是关于“SpringMVC MyBatis集成配置示例”的完整攻略,包含两个示例说明。
SpringMVC MyBatis集成配置示例
SpringMVC和MyBatis是Java Web应用程序开发中常用的框架。在本文中,将介绍如何使用这两个框架来构建一个Web应用程序。
步骤1:添加依赖
首先,我们需要在pom.xml
文件中添加SpringMVC和MyBatis的依赖。以下是一个简单的依赖示例:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.9</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
</dependencies>
步骤2:配置SpringMVC
接下来,我们需要在SpringMVC配置文件中配置SpringMVC。在src/main/resources
目录下创建一个名为spring-servlet.xml
的文件,并添加以下内容:
<beans xmlns="http://www.springframework.org/schema/"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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">
<context:component-scan base-package="com.example"/>
<mvc:annotation-driven/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
在上面的配置文件中,我们使用了<context:component-scan>
元素来扫描com.example
包的组件。我们还使用了<mvc:annotation-driven>
元素来启用注解驱动的SpringMVC。我们还使用了<bean>
元素来配置视图解析器。
步骤3:配置MyBatis
接下来,我们需要在MyBatis配置文件中配置MyBatis。在src/main/resources
目录下创建一个名为mybatis-config.xml
的文件,并添加以下内容:
<configuration>
<typeAliases>
<package name="com.example.model"/>
</typeAliases>
<mappers>
<mapper resource="com/example/mapper/UserMapper.xml"/>
</mappers>
</configuration>
在上面的配置文件中,我们使用了<typeAliases>
元素来指定Java模型类的包名。我们还使用了<mappers>
元素来指定MyBatis映射器的位置。
步骤4:配置数据源
接下来,我们需要在SpringMVC配置文件中配置数据源。在src/main/resources
目录下创建一个名为jdbc.properties
的文件,并添加以下内容:
jdbc.driverClassName=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC
jdbc.username=root
jdbc.password=password
在上面的配置文件中,我们指定了MySQL数据库的驱动程序、URL、用户名和密码。
步骤5:配置MyBatis映射器
接下来,我们需要在MyBatis映射器文件中配置SQL语句。在src/main/resources
目录下创建一个名为UserMapper.xml
的文件,并添加以下内容:
<mapper namespace="com.example.mapper.UserMapper">
<resultMap id="userMap" type="com.example.model.User">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="email" column="email"/>
</resultMap>
<select id="findById" resultMap="userMap" parameterType="java.lang.Long">
SELECT * FROM user WHERE id = #{id}
</select>
<insert id="save" parameterType="com.example.model.User">
INSERT INTO user (name, email) VALUES (#{name}, #{email})
</insert>
<update id="update" parameterType="com.example.model.User">
UPDATE user SET name = #{name}, email = #{email} WHERE id = #{id}
</update>
<delete id="delete" parameterType="java.lang.Long">
DELETE FROM user WHERE id = #{id}
</delete>
</mapper>
在上面的配置文件中,我们使用了<resultMap>
元素来指定结果映射。我们还使用了<select>
、<insert>
、<update>
和<delete>
元素来指定SQL语句。
示例1:使用MyBatis进行数据访问
以下是一个示例,演示如何使用MyBatis进行数据访问:
@Repository
public class UserDaoImpl implements UserDao {
@Autowired
private SqlSessionFactory sqlSessionFactory;
@Override
public User findById(Long id) {
try (SqlSession session = sqlSessionFactory.openSession()) {
UserMapper mapper = session.getMapper(UserMapper.class);
return mapper.findById(id);
}
}
@Override
public void save(User user) {
try (SqlSession session = sqlSessionFactory.openSession()) {
UserMapper mapper = session.getMapper(UserMapper.class);
mapper.save(user);
session.commit();
}
}
@Override
public void update(User user) {
try (SqlSession session = sqlSessionFactory.openSession()) {
UserMapper mapper = session.getMapper(UserMapper.class);
mapper.update(user);
session.commit();
}
}
@Override
public void delete(Long id) {
try (SqlSession session = sqlSessionFactory.openSession()) {
UserMapper mapper = session.getMapper(UserMapper.class);
mapper.delete(id);
session.commit();
}
}
}
在上面的示例中,我们使用了MyBatis的SqlSessionFactory
对象来进行数据访问。
示例2:使用SpringMVC进行Web开发
以下是一个示例,演示如何使用SpringMVC进行Web开发:
@Controller
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
public String getUser(@PathVariable Long id, Model model) {
User user = userService.findById(id);
model.addAttribute("user", user);
return "user";
}
@PostMapping
public String createUser(@ModelAttribute User user) {
userService.save(user);
return "redirect:/users/" + user.getId();
}
@PutMapping("/{id}")
public String updateUser(@PathVariable Long id, @ModelAttribute User user) {
user.setId(id);
userService.update(user);
return "redirect:/users/" + id;
}
@DeleteMapping("/{id}")
public String deleteUser(@PathVariable Long id) {
userService.delete(id);
return "redirect:/users";
}
}
在上面的示例中,我们使用了SpringMVC的@GetMapping
、@PostMapping
、@PutMapping
和@DeleteMapping
注解来处理GET、POST、PUT和DELETE请求。还使用了@ModelAttribute
注解来获取请求参数,并使用Model
对象来传递数据到视图中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springmvc mybatis集成配置示例 - Python技术站