mysql数据库,使用spring和mybatis整合
时间: 2024-01-15 21:03:32 浏览: 28
好的,下面是一个简单的示例,使用 Spring + MyBatis 实现从 MySQL 数据库中查询用户信息并判断登录是否成功。
首先,我们需要在 pom.xml 文件中添加 MyBatis 和 MySQL 的依赖:
```xml
<dependencies>
<!-- MyBatis -->
<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>
<!-- MySQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
</dependencies>
```
其中,${mybatis.version}、${mybatis.spring.version}、${mysql.version} 是需要在 properties 中定义的变量。
接下来,我们需要在 Spring 的配置文件中配置 MyBatis 的数据源和 SQL 映射文件:
```xml
<!-- 数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<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>
<!-- 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.dao" />
</bean>
```
其中,${jdbc.driverClassName}、${jdbc.url}、${jdbc.username}、${jdbc.password} 是需要在 properties 中定义的变量。
接下来,我们需要创建一个 User 实体类和一个 UserDao 接口,用来映射数据库中的用户表:
```java
public class User {
private Long id;
private String username;
private String password;
// getters and setters
}
public interface UserDao {
User findByUsernameAndPassword(@Param("username") String username, @Param("password") String password);
}
```
接下来,我们需要创建一个 UserDao.xml 文件,用来映射 SQL 语句:
```xml
<mapper namespace="com.example.dao.UserDao">
<select id="findByUsernameAndPassword" resultType="com.example.model.User">
select * from user where username = #{username} and password = #{password}
</select>
</mapper>
```
最后,我们可以在代码中使用 UserDao 来查询用户信息:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
public User login(String username, String password) {
User user = userDao.findByUsernameAndPassword(username, password);
if (user == null) {
throw new RuntimeException("登录失败");
}
return user;
}
}
```
以上就是一个简单的使用 Spring + MyBatis 实现从 MySQL 数据库中查询用户信息并判断登录是否成功的示例。