ssm整合实现增删改查
时间: 2023-07-07 17:05:06 浏览: 132
SSM是Spring+SpringMVC+MyBatis的缩写,它们分别是流行的Java框架,可以协同作用来实现快速、高效的Web开发。
下面是一个简单的示例,演示如何利用SSM框架来实现增删改查操作:
1. 配置数据源和MyBatis
在Spring的配置文件中,我们需要配置数据源和MyBatis的相关信息。以下是一个示例:
```xml
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<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>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations" value="classpath*:mapper/*.xml"/>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.mapper"/>
</bean>
```
2. 创建实体类和Mapper接口
创建一个实体类,它对应着数据库中的一张表:
```java
public class User {
private Long id;
private String name;
private Integer age;
// 省略getter和setter方法
}
```
接着,创建一个Mapper接口,定义对应的增删改查方法:
```java
public interface UserMapper {
User selectById(Long id);
List<User> selectAll();
void insert(User user);
void update(User user);
void delete(Long id);
}
```
3. 创建Mapper映射文件
在src/main/resources/mapper目录下创建UserMapper.xml文件,定义SQL语句:
```xml
<mapper namespace="com.example.mapper.UserMapper">
<select id="selectById" parameterType="java.lang.Long" resultType="com.example.domain.User">
select * from user where id = #{id}
</select>
<select id="selectAll" resultType="com.example.domain.User">
select * from user
</select>
<insert id="insert" parameterType="com.example.domain.User">
insert into user(name, age) values(#{name}, #{age})
</insert>
<update id="update" parameterType="com.example.domain.User">
update user set name = #{name}, age = #{age} where id = #{id}
</update>
<delete id="delete" parameterType="java.lang.Long">
delete from user where id = #{id}
</delete>
</mapper>
```
4. 创建Service层
创建一个UserService接口,定义对应的增删改查方法:
```java
public interface UserService {
User selectById(Long id);
List<User> selectAll();
void insert(User user);
void update(User user);
void delete(Long id);
}
```
创建一个UserServiceImpl类,实现UserService接口:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User selectById(Long id) {
return userMapper.selectById(id);
}
@Override
public List<User> selectAll() {
return userMapper.selectAll();
}
@Override
public void insert(User user) {
userMapper.insert(user);
}
@Override
public void update(User user) {
userMapper.update(user);
}
@Override
public void delete(Long id) {
userMapper.delete(id);
}
}
```
5. 创建Controller层
创建一个UserController类,处理用户的HTTP请求:
```java
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
@ResponseBody
public User selectById(@PathVariable("id") Long id) {
return userService.selectById(id);
}
@GetMapping("")
@ResponseBody
public List<User> selectAll() {
return userService.selectAll();
}
@PostMapping("")
@ResponseBody
public void insert(@RequestBody User user) {
userService.insert(user);
}
@PutMapping("")
@ResponseBody
public void update(@RequestBody User user) {
userService.update(user);
}
@DeleteMapping("/{id}")
@ResponseBody
public void delete(@PathVariable("id") Long id) {
userService.delete(id);
}
}
```
6. 运行程序
现在,我们可以启动程序,访问http://localhost:8080/user,来获取所有用户的信息;或者访问http://localhost:8080/user/1,来获取ID为1的用户的信息。
当我们使用POST、PUT、DELETE请求时,需要在请求头中添加Content-Type: application/json,以告诉服务器请求数据的格式为JSON。同时,请求体需要传入JSON格式的数据,例如:
```json
{
"name": "Tom",
"age": 20
}
```
这样就可以实现增删改查功能了。
阅读全文