SSM(Spring + Spring MVC + MyBatis)是一种常见的Java Web开发框架组合,用于构建企业级应用。下面是如何在SSM框架中连接MySQL数据库的详细步骤和相关概念:
首先,在项目的pom.xml
文件中添加必要的依赖:
<dependencies>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.10</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.10</version>
</dependency>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.6</version>
</dependency>
<!-- MySQL Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
<!-- Other dependencies -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
在Spring配置文件(如applicationContext.xml
)中配置数据源:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/your_database?useSSL=false&serverTimezone=UTC"/>
<property name="username" value="your_username"/>
<property name="password" value="your_password"/>
</bean>
在Spring配置文件中配置MyBatis的SqlSessionFactory:
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:mybatis-config.xml"/>
</bean>
创建XML文件(如UserMapper.xml
)来定义SQL语句和映射关系:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper">
<select id="selectUserById" resultType="com.example.model.User">
SELECT * FROM users WHERE id = #{id}
</select>
</mapper>
创建Java接口(如UserMapper.java
)来定义数据库操作方法:
package com.example.mapper;
import com.example.model.User;
import org.apache.ibatis.annotations.Select;
public interface UserMapper {
@Select("SELECT * FROM users WHERE id = #{id}")
User selectUserById(int id);
}
在Service层或其他需要的地方注入并使用Mapper接口:
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User getUserById(int id) {
return userMapper.selectUserById(id);
}
}
原因:可能是数据库服务未启动、URL配置错误、用户名密码错误等。 解决方法:
applicationContext.xml
中的数据库URL、用户名和密码是否正确。原因:SQL语句语法错误或数据库表结构不匹配。 解决方法:
通过以上步骤和注意事项,你应该能够在SSM框架中成功连接并操作MySQL数据库。
领取专属 10元无门槛券
手把手带您无忧上云